我在Silverlight + XNA組合應用程序中播放音樂時遇到了幾個問題。它有幾個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.
其次,我有幾個基於Silverlight的窗口使用UIElementRenderer
呈現。當需要時,我將控件的IsEnabled
標誌更改爲true,並開始在屏幕上繪製它。這使得音樂停止播放時沒有明顯的原因,當我關閉Silverligh窗口時,它甚至不會開始播放。
從框架導航返回到它使事情變得更糟。與MediaPlayer.Play(song)
相同的電話表示該歌曲已被處置,儘管我重新從ContentManager
加載它。
閱讀異常消息 - 它解釋瞭如何解決它。 –