WPF 中的媒体支持没有 Windows Media Player 10+?
我想知道是否可以在没有 Windows Media Player 10 或 11 的情况下部署 Windows Media Foundation?
这是上下文。 我有一个在公司企业环境中运行的 WPF 应用程序。 WPF 需要 Windows Media Foundation 才能提供富媒体支持。 Windows Media Foundation 通过 Windows Media Player 10 和 11 进行分发。WMP 10/11 的公司发布时间表对我来说太遥远了,无法等待。 但因为我不需要整个播放器基础设施,只需要媒体基础,我想知道是否有办法只部署该组件。
I'm wondering if it is possible to deploy Windows Media Foundation without Windows media player 10 or 11?
Here's the context. I have a WPF application running in a corporate enterprise setting. WPF requires Windows Media Foundation for rich media support. Windows Media Foundation is distributed via Windows media player 10 and 11. The corporate release schedule for WMP 10/11 is too far in the future for me to wait. But because I don't need the entire player infrastructure, just media foundation I'm wondering if there is a way to deploy just that component.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Media Foundation 是 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。 缺点是它确实使用了仅在 .NET 3.5 SP1 中可用的 D3DImage 类。
Media Foundation is a Vista only technology and from what I understand, is supposed to replace DirectShow in the future. The reason WPF needs WMP v10+ is because the milcore uses the WMP OCX internally. The WMP v10+ OCX features allow the milcore to use the Enhanced Video Renderer (EVR), which in turn uses a custom presenter to render directly to a D3D surface and ultimatly in WPF. In Vista, WMP will use the Media Foundation path over DirectShow if the media is supported (ie, WMV files).
I do have an alternative. My project "WPF MediaKit". I have a WPF control called the MediaUriElement, that is similar to the MediaElement. It does not require WMP at all. The down side is that it does use the D3DImage class that is only available in .NET 3.5 SP1.