2011-09-22 90 views
2

在WP7平台(用C#和Silverlight),我尝试播放在线流成的MediaElement ...的Windows Phone 7 - 播放视频流

下面是C#代码: (...)

WebClient wc = new WebClient();     
wc.OpenReadCompleted += (s, e) => 
    { 
    try 
    { 
    mediaElement.SetSource(e.Result); 
    } 
    catch (Exception we) 
    { 
    System.Diagnostics.Debug.WriteLine(we.Message); 
    } 
    }; 
wc.OpenReadAsync(new Uri(url, UriKind.Absolute)); 

(...) 这里是XAML源码:

<MediaElement Height="316" HorizontalAlignment="Left" Margin="6,6,0,0" Name="mediaElement" VerticalAlignment="Top" Width="450" AutoPlay="False" />

URL是的类型,格式是平台支持的格式。

当调用SetSource时,将引发一个异常,并显示以下消息 “流必须是IsolatedStorageFileStream类型”。

我该怎么做?

预先感谢一些帮助 干杯

+0

克劳斯,谢谢您的回答 当我设置的属性源和自动播放=“真”的MediaElement的在XAML文件并删除以前的C#代码那么的MediaFailed升高与的ErrorMessage =“AG_E_NETWORK_ERROR” –

回答

4

MSDN说:

传递一个通用流的SetSource(System.IO.Stream)不支持Silverlight for Windows Phone支持。但是,源自Stream的IsolatedStorageFileStream类在Silverlight for Windows Phone上被推崇。

相反,请考虑将MediaElement.Source属性直接设置为流uri。没有理由先“下载”它。

+0

+1只在MSDN上查找错字;-) – BrokenGlass