如何知道WPF MediaElement是否实际播放视频?

时间:2011-11-24 18:09:10

标签: c# wpf mediaelement

我正在开发一个基于WPF的应用程序,它必须在执行期间播放一些视频。要做到这一点,我使用的是MediaElement类,但是在我使用我的应用程序进行第一次测试后,我发现我试图播放的一些视频不受Media Element类支持,因为我是错过了正确的编解码器。安装丢失的编解码器后一切正常。

问题是我的客户的机器也可能缺少编解码器,在这种情况下我想显示某种消息,说缺少编解码器,这样就可以快速解决这个问题,但是当我看到MediaElement上课我没有找到任何说明为什么给定视频没有播放的属性。实际上从我所看到的MediaElement甚至没有抛出异常,当它试图播放的视频不是正确的格式时,它也没有状态变量说它是否正在播放视频。

因此,我想知道如果MediaElement能够或不能播放给定的视频,是否有任何方法可以在运行时以编程方式发现。

1 个答案:

答案 0 :(得分:7)

您始终可以订阅MediaFailedMediaOpened个活动。这两个将分别在失败和成功时执行。

如果编解码器错误MediaElement.MediaFailed将被引发。

结帐MSDN for more info on MediaFailed