2011-11-24 142 views
4

我正在開發一個基於WPF的應用程序,它在執行過程中必須播放一些視頻。爲了做到這一點,我使用了MediaElement類,但是在我用我的應用程序進行了第一次測試之後,我發現我試圖播放的一些視頻不被媒體元素類支持,因爲我錯過了正確的編解碼器。缺少編解碼器安裝後,一切正常。如何知道WPF MediaElement是否真的在播放視頻?

問題是,我的客戶的機器也可能會丟失編解碼器,在這種情況下,我想顯示某種消息,說編解碼器丟失,以便這個問題可以很快解決,但是當我在看MediaElement類我沒有找到任何說明給定視頻不播放的屬性。實際上,從我看到的情況來看,MediaElement甚至在它試圖播放的視頻格式不正確時也不會引發異常,也沒有狀態變量表示它正在播放或未播放視頻。

因此,我想知道是否有任何方式在運行時以編程方式發現,如果給定的視頻可以或不可以由MediaElement播放。

回答

6

您始終可以訂閱MediaFailedMediaOpened事件。這兩個將分別執行失敗和成功。

如果出現編解碼器錯誤MediaElement.MediaFailed將被引發。

結帳MSDN for more info on MediaFailed

+0

嗨,'MediaFailed'事件正是我正在尋找的。非常感謝您的幫助。 – Felipe

相關問題