0

我想寫一個像下面這樣的方法。但是,如果Silverlight無法自然播放流,我希望它通過MediaStreamSource類的列表,然後依次嘗試每個類,直到它們中的任何一個都可以工作,或者沒有更多的嘗試。我的問題是,如何判斷下面的方法是否足以滿足特定的流。您如何測試Silverlight是否可以播放流?

public static void OpenMedia(this MediaElement ME, Stream FileData) 
{ 
    ME.SetSource(FileData); 
} 

我需要一些代碼來執行這種情況下,無法播放媒體。

回答

1

我不知道,如果你正在尋找測試失敗或測試用於播放的媒體類型,這樣的能力...

您可以添加的事件處理程序的MediaFailed,無論是在XAML或代碼,他在這兩種情況下。主動檢查可播放性會帶來一些創意,比如有一些非常小的「樣本」媒體文件(< 1秒)和無聲的,這些文件用於測試可播放性,並且對用戶來說是透明的。

對於後面的線C#代碼的事件,並添加新的事件:

void yourPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    ME.MediaFailed += new EventHandler<ExceptionRoutedEventArgs>(ME_MediaFailed); 
} 

void ME_MediaFailed(object sender, ExceptionRoutedEventArgs e) 
{ 
    add your code to handle the exception here. 
} 
+0

我想,玩音量樣本設置爲0應該工作,並允許播放文件之前測試該文件。 – ForbesLindesay 2010-12-15 01:20:31

相關問題