我正在尝试为Windows手机创建媒体播放器。我有一个为Windows Phone 7创建的早期项目,但是当我使用相同的Windows Phone 8代码时,该应用程序崩溃了一个UnhandledException。我正在使用Lumia 925设备。以前的应用程序位于商店中,用于Windows Phone 8设备。我不知道问题是什么。当点击播放来自图书馆的歌曲时,我尝试使用按钮创建一个新项目。但同样的事情发生..应用程序崩溃与UnhandledException。这是代码
private void btnPlay_Click(object sender, RoutedEventArgs e)
{
try
{
MediaLibrary lib = new MediaLibrary();
var songsLib = lib.Songs;
MediaPlayer.Play(songsLib[0]);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
我已在清单中添加了所有权限。我搜索过,无法找到解决方案。我的模拟器现在无法正常工作,我无法使用模拟器进行检查。但我认为这两个应用程序都在模拟器中工作。在设备中运行时会出现问题。
P.S。我注意到的事情,当我从商店下载我的原始应用程序并运行它时,它在图书馆中没有歌曲时运行良好。只要手机中有歌曲,应用程序就会崩溃。
答案 0 :(得分:4)
来自MSDN http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.frameworkdispatcher.update.aspx
如果在未实现的应用程序中使用XNA Framework 游戏类 - 例如,使用该游戏的Windows Phone应用程序 Silverlight应用程序模型 - 你必须调用 FrameworkDispatcher.Update方法自己调度消息 在XNA Framework消息队列中。
因此,只需在现有代码中添加一行即可完成。
MediaLibrary lib = new MediaLibrary();
var songsLib = lib.Songs;
Microsoft.Xna.Framework.FrameworkDispatcher.Update(); // <-- this one
MediaPlayer.Play(songsLib[0]);
为了确定,请检查您是否启用了以下功能。
<Capability Name="ID_CAP_MEDIALIB_AUDIO"/>
<Capability Name="ID_CAP_MEDIALIB_PLAYBACK"/>