Windows phone 8 即使我删除了它,文件仍保留在隔离存储中

Windows phone 8 即使我删除了它,文件仍保留在隔离存储中,windows-phone-8,windows-phone,isolatedstorage,Windows Phone 8,Windows Phone,Isolatedstorage,在我的应用程序中,我可以录制3次我的声音,还可以收听录制的声音。听了之后,我通过另一个函数将它们从隔离存储中删除。但问题是,我听的最后一个声音,留在isolatedstorage中,isolatedstorage的remove方法无法删除最后的播放。下一次当我想录声音时,我会出错。我怎样才能解决这个问题 错误: 录音代码: private void SaveTempAudio(MemoryStream buffer) { using (var isoS

在我的应用程序中,我可以录制3次我的声音,还可以收听录制的声音。听了之后,我通过另一个函数将它们从隔离存储中删除。但问题是,我听的最后一个声音,留在isolatedstorage中,isolatedstorage的remove方法无法删除最后的播放。下一次当我想录声音时,我会出错。我怎样才能解决这个问题

错误:

录音代码:

        private void SaveTempAudio(MemoryStream buffer)
    {

        using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
        {
            var bytes = buffer.GetWavAsByteArray(_recorder.SampleRate);
            var tempFileName = "tempwave_" + _counter +".wav" ;

            using (var audioStream = isoStore.CreateFile(tempFileName))
            {
                audioStream.Write(bytes, 0, bytes.Length);
                _counter++;
            }
        }
    }
播放和收听录制声音的代码

        private void PlayBackSound( string fileName)
    {

        using (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isoStorage.FileExists(fileName))
                return;

            using (var fileStream = isoStorage.OpenFile(fileName, FileMode.Open, FileAccess.Read))
            {
                SoundPlayer.SetSource(fileStream);
                SoundPlayer.Play();

            }
        }
    }
要删除我使用的文件,请执行以下操作:

             using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
        {
            isoStore.Remove();
        }

您应该使用如下所示的代码作为从MediaElement释放资源的解决方案。现在我可以删除所有录制的声音,您只需处理mediaelement的MediaEnded事件并将null传递给source属性:

void SoundPlayer_MediaEnded(object sender, RoutedEventArgs e)
{
      SoundPlayer.Source = null;
}

尝试在使用完所有流后关闭它们。可能是因为流正在打开。

您是否给出了正确的路径?检查一下。如果路径正确,则上述各项应正常工作。如果路径正确。当我听不到录制的声音时,我没有问题,而且我可以删除所有的声音,但是如果我听了,最后一个文件(不管是哪一个),我会得到一个错误…可能是最后一个播放的引用没有发布,所以它无法删除引用的文件是的,我认为你是对的,但是我怎样才能释放那个文件呢?当我这样做的时候:SoundPlayer.Source=null;在播放功能结束时,一切都很顺利,没有任何例外,但我无法收听录制的声音