我有一个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.xaml.cs中MainPage.d__30.MoveNext()的Windows.UI.Popups.MessageDialog.ShowAsync():第296行
问题2解决了。 MediaFailed
事件被触发两次,因为同时显示2 MessageDialog
导致异常。我通过不显示更多MessageDialog
来解决它,直到没有打开。
问题1未解决。它使我的应用程序无用。我的MediaElement
引发了以下错误:MF_MEDIA_ENGINE_ERR_DECODE
。这意味着:An error occurred while decoding the media resource.
另一个奇怪的行为是:在将应用程序部署到模拟器时,它工作正常,但部署到本地计算机时解码失败。
可能导致什么原因?在安装Windows 8.1之前,更新解码工作正常。
问题1在重新启动计算机后得以解决。一些浪费的时间是因为安装更新后的CODEC冲突。