2011-09-22 98 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