Silverlight 歌曲课不正常

Silverlight 歌曲课不正常,silverlight,windows-phone-7,xna,media-player,Silverlight,Windows Phone 7,Xna,Media Player,在我的silverlightWP7应用程序中,我使用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.Framew

在我的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秒。怎么了?

Silverlight基于事件,而XNA更基于循环。如前所述,您需要启用XNA框架事件。为了快速测试这是否是问题所在,您可以在页面的构造函数中添加以下内容:

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

Silverlight是基于事件的,而XNA更基于循环。如前所述,您需要启用XNA框架事件。为了快速测试这是否是问题所在,您可以在页面的构造函数中添加以下内容:

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