0

我正在 WPF 的 MediaElement 中播放视频。

它一遍又一遍地工作了 1000 次。

一旦在一个蓝色的月亮(比如每周一次),我得到了一个窗口异常(你知道对话 Dr. Watson Crash 吗??)发生了。MediaElment 不会暴露错误,它只是崩溃并在屏幕上显示丑陋的崩溃报告。

如果您“查看此报告”,您可以看到实际上是 MediaPlayer 崩溃了。我知道我可以禁止弹出崩溃报告 - 但我更感兴趣的是找出问题所在。

我不确定如何捕获 Dr. Watson 捕获的结果,但如果有人对更好的捕获方式提出建议,我现在打开对话框。这是数据的开头行,指向我的应用程序,然后指向 wmvdecod.dll

AppName:ScottApp.exe AppVer:2.2009.2291.805 AppStamp:4a36c812 ModName:wmvdecod.dll ModVer:11.0.5721.5145 ModStamp:453711a3 fDebug:0偏移量:000cbc88

并来自 Win 事件日志。(相同信息)

事件类型:错误事件源:.NET 运行时 2.0 错误报告事件类别:无事件 ID:1000 日期:2009 年 7 月 13 日时间:上午 10:20:27 用户:不适用计算机:28022 描述:应用程序 ScottApp 出错。 exe,版本 2.2009.2291.805,标记 4a36c812,故障模块 wmvdecod.dll,版本 11.0.5721.5145,标记 453711a3,调试?0,故障地址0x000cbc88。

4

1 回答 1

0

我认为这是 Windows 媒体解码器过滤器的错误。我在其他不使用 MediaElement 的媒体播放器中遇到了同样的异常。

此异常来自您无权访问的线程上的本机代码。所以我不知道如何捕捉这些异常。

如果您想向 microsoft connect 站点提交详细的错误报告,请尝试在崩溃后运行此工具 (DebugDiag): http ://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1- b24d-f60151d875a3&displaylang=en

添加“崩溃规则”并通过选项生成崩溃报告。我也会这样做,也许他们可以解决这个问题。

如果可能的话,一个解决方法是找到一个稳定的编解码器(divx?)并将您的 Windows 媒体文件转换为这种格式。

使用不同的 GPU,您可能会遇到不同的结果,因为 WM 编解码器将使用 DXVA 进行硬件加速。我认为不同的驱动程序/GPU 会提供不同程度的可靠性。

于 2009-10-11T01:09:00.143 回答