Silverlight と XNA を組み合わせたアプリケーションで音楽を再生する際に、いくつかの問題があります。いくつかの Silverlight ページと、XNA でレンダリングされた「ゲーム」ページがあります。
まず、Silverlight のメイン ページの OnNavigatedTo イベントに次のコードを追加しました。
var song = (Application.Current as App).Content.Load<Song>("Music/Menu");
MediaPlayer.Play(song);
MediaPlayer.Volume = 0.9f;
MediaPlayer.IsRepeating = true;
音楽の再生が開始されますが、明確なコールスタック ヒントがない次の例外でアプリケーションが失敗します。
InvalidOperationException occured
FrameworkDispatcher.Update has not been called. Regular FrameworkDispatcher.Update calls are necessary for fire and forget sound effects and framework events to function correctly.
2 つ目は、.NET を使用してレンダリングされた Silverlight ベースのウィンドウがいくつかありますUIElementRenderer
。必要に応じて、コントロールのIsEnabled
フラグを true に変更し、画面への描画を開始します。これにより、明確な理由もなくフェードアウトで音楽の再生が停止し、Silverligh ウィンドウを閉じても元に戻りません。
フレームから移動してフレームに戻ると、事態はさらに悪化します。への同じ呼び出しは、曲を新たMediaPlayer.Play(song)
にロードしたにもかかわらず、破棄されたことを示しています。ContentManager