我有一个 Windows 应用商店应用程序在过去 6 个月内运行良好,无一例外,每天平均应用程序使用时间为 50 分钟(仪表板统计信息)。糟糕的评分会毁掉我 4.5 的平均评分,我需要快速解决这个问题,所以我会赏金帮助我解决这个问题的人。(我必须等待 2 天才有资格,但我会做到的)
今天我安装了 Windows 8.1 更新,现在我的应用程序每次都崩溃。这是正在发生的事情:
MediaElement
我的主页中有一个控件,用户可以更改其来源。它MediaFailed
附加了一个事件回调。
问题 1
到目前为止MediaElement
,每个源用户都会选择,但现在它总是失败并MediaFailed
触发事件。
MediaElement
ExceptionRoutedEventArgs.ErrorMessage
是“MF_MEDIA_ENGINE_ERR_DECODE:HRESULT - 0xC00D36B4”
问题 2
这MediaFailed
是导致异常的回调:
private async void MediaElement_MediaFailed(object sender, ExceptionRoutedEventArgs e)
{
MessageDialog notAvailableDialog = new MessageDialog("Not available", "Ooops");
notAvailableDialog.Commands.Add(new UICommand("Ok"));
await notAvailableDialog.ShowAsync();
}
如果我捕捉到异常应用程序会显示对话框并且它不会崩溃。这是一个例外:
消息: [System.InvalidOperationException] = {“在意外的时间调用了一个方法。(来自 HRESULT 的异常:0x8000000E)”}
Stacktrace:在 MainPage.d__30.MoveNext() 的 Windows.UI.Popups.MessageDialog.ShowAsync() MainPage.xaml.cs:line 296
更新 1
问题2解决了。MediaFailed
事件被触发两次,因此MessageDialog
同时显示了 2 次导致异常。我通过MessageDialog
在没有打开之前不显示更多来解决它。
问题1没有解决。它使我的应用程序无用。我MediaElement
抛出以下错误:MF_MEDIA_ENGINE_ERR_DECODE
. 它的意思是:An error occurred while decoding the media resource.
另一个奇怪的行为是:将应用程序部署到模拟器时它工作正常,但部署到本地机器时解码失败。
可能是什么原因造成的?在安装 Windows 8.1 更新解码之前工作正常。
更新 2
问题 1 重新启动计算机后解决。由于安装更新后 CODEC 冲突,浪费了一些时间。