過去 6 か月間、例外なく正常に動作していた Windows ストア アプリがあり、1 日の平均アプリ使用時間は 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)"}
スタックトレース: Windows.UI.Popups.MessageDialog.ShowAsync() で MainPage.d__30.MoveNext() で MainPage.xaml.cs:line 296
更新 1
問題 2 が解決されました。MediaFailed
イベントが2回発生し、そのため2つMessageDialog
が同時に表示され、例外が発生しました。MessageDialog
開いているものがなくなるまで表示しないことで解決しました。
問題 1 は解決されません。それは私のアプリを役に立たなくしています。私MediaElement
は次のエラーをスローしています: MF_MEDIA_ENGINE_ERR_DECODE
。その意味は:An error occurred while decoding the media resource.
もう 1 つの奇妙な動作は、アプリをシミュレーターにデプロイするときは正常に動作しますが、ローカル マシンにデプロイするとデコードに失敗することです。
何が原因でしょうか?Windows 8.1 アップデート デコードをインストールする前は、問題なく動作していました。
更新 2
問題 1 は、コンピューターを再起動した後に解決されました。更新プログラムのインストール後に CODEC が競合するため、何時間も無駄になりました。