MediaElement可以播放哪些类型的视频?

6
我正在寻找有关媒体格式的详细信息,以确定MediaElement可以播放哪些格式。我似乎找不到任何权威来源。我在某个地方看到过,如果可以在WMP中播放,那么MediaElement就可以播放。这是真的吗?如果是,我的下一个问题是,我在哪里可以找到WMP的功能和限制?WPF的MediaElement和WMP之间有何联系?我希望更好地理解这些组件以及在WPF中的视频播放,并且到目前为止一直在网上苦苦搜寻。
1个回答

8

MediaElement 内部使用 WMP ActiveX。理论上,MediaElement 应该能够播放 WMP 能播放的任何内容,但并非总是如此,例如 .vob 文件。

当您在 MediaElement 中播放文件时,将加载 Windows Media Player ActiveX。WMP 然后决定使用 DirectShow 或 MediaFoundation 路径来播放媒体。它可以播放的媒体类型主要取决于计算机上安装了哪种编解码器(DirectShow 或 MF)。一旦选择了媒体路径,WPF 将为增强视频渲染器提供自定义呈现器,以便将每个视频帧呈现到 D3D 表面上,从而为在 WPF 组合引擎中呈现做好准备。


这太棒了,感谢您的解释。不过还有两个问题 - 1)有没有办法查看安装在计算机上并可供Directshow和MF使用的编解码器?2)对于Directshow与MF播放,决定采用哪种标准进行检查? 谢谢! - Sio
1
最简单的查看可用编解码器的方法是使用Windows SDK的bin目录中的GraphEdit。我认为MF还没有类似的实用程序存在。我不确定在使用MF或DShow时使用了什么标准。我的唯一假设是首先尝试MF,然后回退到DShow。Windows 7中的MF将支持某些MPEG4的变体,如h264和WMV(可能是WM7、8和VC1)。 - Jeremiah Morrill
现在,如果我们需要在WPF应用程序中播放.vob文件,我们该怎么办? - TheAgent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接