我得到以下的代碼,其目的是要播放從獨立存儲選定的MP3文件上面的異常和錯誤不允許:獲取IsolatedStorageException:操作上IsolatedStorageFileStream
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var isfs = isf.OpenFile(selected.Path, FileMode.Open))
{
this.media.SetSource(isfs);
isfs.Close();
}
isf.Dispose();
}
的錯誤是如此模糊我真的不知道什麼可能是錯誤的......任何想法或至少這個錯誤的常見來源,我可能會檢查?
編輯:異常被拋出在:using(var isfs = isf.OpenFile(...))
編輯2:堆棧跟蹤...
at System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, IsolatedStorageFile isf)
at System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, IsolatedStorageFile isf)
at System.IO.IsolatedStorage.IsolatedStorageFileStream..ctor(String path, FileMode mode, IsolatedStorageFile isf)
at Ringify.Phone.PivotContent.RingtoneCollectionPage.MediaIconSelected(Object sender, GestureEventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
我已經意識到過,如果我打一首歌不會出現錯誤然後停止播放(用戶界面中有播放和暫停按鈕),然後播放另一首歌曲。它發生在播放一首歌曲時,停止播放,並嘗試再次播放同一首歌曲。
哪條指令觸發錯誤isf.OpenFile?如果是這樣,請確保該文件存在。您可以在打開文件之前調用'isf.FileExists(selected.Path)'來檢查 –
是的,就是這一行。我寫了一個非正式的檢查來控制'isf.FileExists(selected.Path)'的結果,因爲我想也許是這種情況,但它確實並且放入一個實際的if語句並不能解決問題。 –
我想不出爲什麼這段代碼會拋出一個現有文件的異常。你能告訴我們'selected.Path'的價值嗎? –