WPF中如何支持媒体播放,但不使用Windows Media Player 10+?

4
我想知道是否可以在没有Windows media player 10或11的情况下部署Windows Media Foundation?
背景如下。我有一个在企业环境中运行的WPF应用程序。 WPF需要Windows Media Foundation来支持丰富的媒体。 Windows Media Foundation通过Windows media player 10和11进行分发。企业发布WMP 10/11的时间表对我来说太遥远了。但是因为我不需要整个播放器基础架构,只需要媒体基础架构,所以我想知道是否有一种方法只部署该组件。

如果有帮助的话,我只需要语音支持。 - Scott Weinstein
1个回答

6

媒体基础框架是一种仅适用于Windows Vista的技术,据我所知,它将在未来取代DirectShow。WPF需要WMP v10+的原因是milcore在内部使用WMP OCX。WMP v10+ OCX功能允许milcore使用增强视频渲染器(EVR),EVR又使用自定义显示器直接呈现到D3D表面,并最终在WPF中呈现。在Vista中,如果媒体被支持(例如WMV文件),WMP将使用媒体基础框架路径而不是DirectShow。

我有一个替代方案。我的项目“WPF MediaKit”。我有一个名为MediaUriElement的WPF控件,类似于MediaElement。它根本不需要WMP。缺点是它使用的D3DImage类仅在.NET 3.5 SP1中可用。


@Jeremiah Morrill,它似乎在FW4.5中无法工作,你有其他的替代方案吗? - Uri Abramson

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