AudioPlaybackAgent
現在、オンライン オーディオ ストリームの再生に使用しています ( mp3
)。デバイスがインターネットに接続されている場合、オーディオが再生されます。しかし、ネットワーク接続がなくplay
、アプリのボタンを押すと、クラッシュします
An unhandled exception of type 'System.SystemException' occurred in System.Windows.ni.dll
そして、それは私にコードのこの部分を指摘します
....
case UserAction.Play:
if (player.PlayerState != PlayState.Playing)
{
player.Play();
}
break; // << right here
....
オーディオ プレーヤー全体を貼り付けることができますが、標準で生成されたバックグラウンド オーディオ プレーヤーを貼り付けることができます。ここで配線されているのは、バックグラウンドプレーヤーの初期化にコード行があることです
Application.Current.UnhandledException += AudioPlayer_UnhandledException;
未処理の例外を処理する必要があります...しかし、処理しません。
シンプルな try-catch を使用してオーディオ プレーヤー内でこの例外をキャッチできますが、Audioplaybackagent から直接 MessageBox を使用して表示することはできません (ストアにアプリを送信しようとすると、MS が許可していないため)。
ここでの私の質問は次のとおりです。
- アプリ内で例外をキャプチャし、ネットワーク接続がないことを示す MessageBox などをユーザーに表示するにはどうすればよいですか
- 未処理の例外が投稿されたコードで処理されないのはなぜですか?
ご協力いただきありがとうございます!