1

在我的 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.Framework.Media.MediaPlayer.IsRepeating = true;
 Microsoft.Xna.Framework.Media.MediaPlayer.Play(s);

它开始播放声音并在一秒钟后停止,而歌曲时长为 10 秒。怎么了 ?

4

1 回答 1

1

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

DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(30);
timer.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
timer.Start();
于 2012-10-10T10:42:41.013 回答