我正在尝试创建一个可以在 Windows XP (SP3)、vista 和 7 上运行的媒体播放器(在 C# .net 4.0 中)。通常我会走简单的路并使用 WPF 自己的 MediaElement,但因为它依赖于 Windows Media Player 10 或更高版本,因为 Windows XP SP3 可能只有 WPM9,所以无法工作。
首先,我尝试下载 Jerimiah Morill 的 WPF MediaKit 示例应用程序,但这使用了不会在我的测试机器上显示的 EVR(仅带有默认编解码器和默认程序的 Windows xp SP3,以及各种 .Net 框架安装)。我还下载了二进制文件并将它们分开,仅参考 DirectShow-dll 和 WPF mediakit 的最低限度创建一个新项目,这次没有参考 EVR。仍然没有运气。这让我很难理解——即使是 Windows XP 也不能直接使用 VMR 播放电影吗?
我发现了一些媒体播放器的样本,其中一种是有效的。这个叫做DxPlay并使用了 directshow 的 graphbuilder,但它是在 winforms 中构建的,有一些看起来相当原始的代码,并且不会缩放、搜索、处理音频,而且总体上看起来很粗略。
那么,有没有什么简单的方法可以创建一个可以在所有提到的平台上播放而无需推动 WMP10+ 的媒体播放器?我对 WPF MediaKit 寄予厚望,但有些东西阻止它在 Windows XP SP3 上播放(对此的任何解决方案都会非常有趣)。
非常感谢您!
-ruNury