Windows Phone 7 - MediaPlayer.Play() 导致 UI 冻结



每次从 UI 线程执行MediaPlayer.Play()时,UI 都会冻结很长时间。我认为您对开始播放 SongCollection 所需的时间无能为力,但至少 UI 应该保持响应。从另一个线程运行MediaPlayer.Play()显然不起作用。

媒体播放器是来自 Xna 命名空间的组件。如果您在游戏中使用此功能,您肯定会运行游戏循环来防止这种冻结发生:游戏循环

如果在应用中使用此组件,则可以自行模拟此行为

public MainPage()
    {    InitializeComponent();
         // Timer to simulate the XNA Game Studio game loop (Microphone is from XNA Game Studio)
         DispatcherTimer dt = new DispatcherTimer();
         dt.Interval = TimeSpan.FromMilliseconds(33);
         dt.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
         dt.Start();
}

(请参阅有关如何在游戏循环之外运行麦克风的完整示例:MSDN)

相关内容

  • 没有找到相关文章

最新更新