我在WPF的MediaElement中播放视频。
它一次又一次地工作了1000次。
一旦进入一个蓝色的月亮(就像每周一次),我会得到一个Windows例外(你知道对话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 Event Log。 (相同信息)
事件类型:错误 事件源:.NET Runtime 2.0错误报告 活动类别:无 事件ID:1000 日期:2009年7月13日 时间:上午10:20:27 用户:N / A. 计算机:28022 描述:错误应用程序ScottApp.exe,版本2.2009.2291.805,邮票4a36c812,错误模块wmvdecod.dll,版本11.0.5721.5145,邮票453711a3,调试? 0,故障地址0x000cbc88。
答案 0 :(得分:0)
我认为这是Windows媒体解码器过滤器的一个错误。我在其他不使用MediaElement的媒体播放器中遇到了同样的例外。
此异常来自您无权访问的线程上的本机代码。所以我不知道如何捕获这些异常。
如果要向microsoft connect站点提交详细的错误报告,请尝试在崩溃后运行此util(DebugDiag):http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en
添加“崩溃规则”并浏览选项以生成崩溃报告。我也会这样做,也许他们可以解决这个问题。
如果可能的话,为你找到一个稳定的编解码器(divx?)并将你的Windows Media文件转换为这种格式。
使用不同的GPU可能会遇到不同的结果,因为WM编解码器将使用DXVA进行硬件加速。我认为不同的驱动程序/ gpus会给出不同的可靠性。