【发布时间】:2010-12-18 20:55:52
【问题描述】:
我正在尝试制作一些应该从服务器播放视频的 wp7 应用程序。 该应用的功能之一是下载选定的视频并从独立存储中播放。
我正在使用下一个代码进行下载:
WebClient wc = new WebClient();
wc.OpenReadCompleted += (s, a) => { /* saving result stream to isolated storage */}
wc.OpenReadAsync(fileUri);
所以,当我点击播放按钮时,我会检查文件是否已下载,如果是,我会为此文件打开 IsolatedStorageFileStream 并将其设置为播放器的源,否则我设置为源文件 Uri。
问题是当我尝试将 IsolatedStorageFileStream 设置为 MedialElement 的源时出现 MediaFailed 异常。有人可以帮我吗?
代码如下所示
private IsolatedStorageFile isf;
private IsolatedStorageFileStream stream;
private void playButton_Click(..)
{
isf = IsolatedStorageFile.GetUserStoreForApplication();
stream = isf.OpenFile(path, FileMode.Open);
MediaPlayer.SetSource(stream);
MediaPlayer.Play();
}
流没有损坏,它的长度是正确的。我真的不知道该怎么办。 提前致谢
【问题讨论】:
-
不是解决您的问题的方法,但是一旦您解决了这个问题,请注意:在非 WP Silverlight 中,有一个错误会导致从非 UI 线程读取 IsolatedStorage 非常慢(并且会肯定会影响您的情况)。可能在WP7中也有同样的问题
标签: c# windows-phone-7 mediaelement isolatedstorage