我有一个简单的WinForms应用程序(为32Bit编译),带有一个托管MediaElement的自定义WPF控件。下面的代码在Windows 7(64位)下完美播放视频,但在Vista和XP下触发MediaFailed事件,并显示消息“Media无法下载”。
`
this.MediaElement.LoadedBehavior = System.Windows.Controls.MediaState.Manual;
this.MediaElement.UnloadedBehavior = System.Windows.Controls.MediaState.Manual;
this.MediaElement.Source = new System.Uri(@"C:\Video\Video.mp4", System.UriKind.Absolute);
this.MediaElement.Position = System.TimeSpan.FromSeconds(20);
this.MediaElement.Play();
`
视频很好,可以在所有三个操作系统的Windows Media Player中播放。视频是H.264 / MPEG-4 / AVC编码的。这可能是DirectShow过滤器问题吗?如果没有,我可以通过什么方式来实现这一目标?
答案 0 :(得分:0)
它确实是一个DS过滤器问题。由于这个原因,该机器上的编解码器无法识别mp4文件。
如果您在不能使用mp4文件的机器上使用graphedit并将其与有效的机器进行比较,您将看到过滤器(编解码器)是否正在加载