2010-11-30 81 views
1

我试图让一些wp7应用程序应该从服务器播放视频。 该应用程序的其中一项功能是下载选定的视频并从独立存储中播放。从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(); 
} 

流没有被破坏,它的长度是正确的。我真的不知道该怎么办。 在此先感谢

+1

不是解决您的问题的方法,但是一旦您解决了此问题,请注意:在非WP Silverlight中存在一个错误,使得从非UI线程读取IsolatedStorage非常缓慢(并且肯定会影响您的方案) 。在WP7中可能存在同样的问题 – 2010-11-30 13:18:37

回答

2

我已经找到解决方案,这是很奇怪的,但工程

的问题是,我保存的名字%clipId%.clip文件,但是当我改变文件名%clipId%。 MP4(我的剪辑编码在MP4)它变得工作!

不明白为什么是这样。

2

媒体播放器查看文件名以检查它是否支持格式。 “.clip”是无效的格式。