2012-10-10 67 views
1

在我的silverlight WP7應用程序中,我使用XNA庫播放聲音。以下是代碼。歌類無法正常工作

Microsoft.Xna.Framework.Media.Song s = Microsoft.Xna.Framework.Media.Song.FromUri("song", new Uri("bmusic.mp3", UriKind.Relative)); 
Microsoft.Xna.Framework.FrameworkDispatcher.Update(); 
Microsoft.Xna.Framework.Media.MediaPlayer.IsRepeating = true; 
Microsoft.Xna.Framework.Media.MediaPlayer.Play(s); 

它開始播放聲音,一秒鐘後停止播放,而歌曲的播放時間爲10秒。哪裏不對 ?

回答

1

Silverlight是基於事件的,而XNA更基於循環。您需要啓用XNA框架事件,如here所述。作爲一個快速測試,看看是否是這個問題,在您的頁面的構造函數中,可以添加以下內容:

DispatcherTimer timer = new DispatcherTimer(); 
timer.Interval = TimeSpan.FromMilliseconds(30); 
timer.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } }; 
timer.Start();