Tôi nhận được ngoại lệ trên và lỗi trên đoạn mã sau, mà có nghĩa là để chơi một file mp3 được lựa chọn từ Isolated Storage:Bắt IsolatedStorageException: Hoạt động không được phép trên IsolatedStorageFileStream
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var isfs = isf.OpenFile(selected.Path, FileMode.Open))
{
this.media.SetSource(isfs);
isfs.Close();
}
isf.Dispose();
}
Lỗi này là rất mơ hồ rằng tôi không thực sự chắc chắn những gì có thể sai ... Bất kỳ ý tưởng hoặc ít nhất là nguồn phổ biến của lỗi này mà tôi có khả năng có thể kiểm tra?
EDIT: ngoại trừ đã được ném vào: using(var isfs = isf.OpenFile(...))
EDIT 2: Các vết đống ...
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)
Tôi đã nhận ra quá rằng lỗi không xảy ra nếu tôi chơi một bài hát sau đó dừng lại (có nút phát và tạm dừng trong giao diện người dùng), sau đó phát một bài hát khác. Nó xảy ra khi tôi chơi một bài hát, dừng lại, và cố gắng chơi lại bài hát đó.
Hướng dẫn nào đang kích hoạt lỗi, isf.OpenFile? Nếu vậy, hãy đảm bảo rằng tệp tồn tại. Bạn có thể kiểm tra bằng cách gọi 'isf.FileExists (selected.Path)' trước khi mở tập tin –
Vâng, đó là dòng đó. Tôi đã kiểm tra không chính thức bằng cách viết để điều khiển các kết quả của 'isf.FileExists (selected.Path)' vì tôi nghĩ có thể đó là trường hợp, nhưng nó thực hiện và đưa vào một câu lệnh if thực tế không giải quyết được vấn đề. –
Tôi không thể nghĩ ra bất kỳ lý do nào tại sao mã này sẽ ném một ngoại lệ với một tệp hiện có. Bạn có thể cho chúng tôi biết giá trị của 'selected.Path' không? –