I have an audio file stored in IsolatedStorage
..
I want to access it by calling a method of another class:
using (IsolatedStorageFile isolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream fileStream = isolatedStorage.OpenFile(filePath, FileMode.Open, FileAccess.Read))
{
return fileStream;
}
}
now when I call that method this way:
var fileStream = Musics.TryGetMusic("DaDaDa.mp3");
musicMediaElement.SetSource(fileStream);
musicMediaElement.Play();
I get an error saying it cannot read a closed file.
The cause is that I'm using using
statement and the file is closed when I call Play()
.
How can I solve this problem?
It's because, I presume yo call it, like
After exiting from the
using
statement,fileStream
instance will be disposed.To resolve this issue should be enough to not use
using
here,but instead track that instance lifetime and call dispose manually in appropriate place.