2009-07-13 38 views
0

我在WPF中的MediaElement中播放视频。从WPF MediaElement控件捕获MediaPlayer异常

它一次又一次地工作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

而且从运事件日志。 (相同的信息)

事件类型:错误 事件源:.NET运行库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

它看起来像这样**可能**是一个硬件问题。 – ScottCate 2009-07-13 23:00:42

回答

0

我相信这是一个与Windows媒体解码器过滤器的错误。我在其他不使用MediaElement的媒体播放器中遇到过相同的例外情况。

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

如果你想提交一份详细的错误报告给Microsoft Connect站点,尝试运行这个UTIL崩溃后(DebugDiag资料):http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

添加了“崩溃规则”并办理选项生成崩溃报告。我也会这样做,也许他们可以修复这个问题。

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

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