Windows phone 8.1 WP8.1 BackgroundMediaPlayer不在设备上播放,但在emulator上工作

Windows phone 8.1 WP8.1 BackgroundMediaPlayer不在设备上播放,但在emulator上工作,windows-phone-8.1,background-audio,Windows Phone 8.1,Background Audio,我有一个通用Windows应用商店项目。在windowsphone部分,我使用BackgroundMediaPlayer.Current播放音频。该应用程序通过KnownFolders.MusicLibrary访问媒体文件。 问题是当我用虚拟SD卡在emulator上运行我的应用程序时,音乐就会播放,一切都很好。但是,当我将应用程序部署到我的Lumia 920运行WP8.1 DevPreview,并按下“播放”按钮时,什么也没有发生。没有例外,没有强制关闭。。。完全没有。 问题:这是一个内部存储

我有一个通用Windows应用商店项目。在
windowsphone
部分,我使用
BackgroundMediaPlayer.Current
播放音频。该应用程序通过
KnownFolders.MusicLibrary
访问媒体文件。 问题是当我用虚拟SD卡在emulator上运行我的应用程序时,音乐就会播放,一切都很好。但是,当我将应用程序部署到我的
Lumia 920
运行
WP8.1 DevPreview
,并按下“播放”按钮时,什么也没有发生。没有例外,没有强制关闭。。。完全没有。
问题:这是一个内部存储问题(
Lumia 920
没有SD卡)还是
BackgroundMediaPlayer
有bug或者bug隐藏在操作系统预览版中?

我刚刚遇到了同样的问题

如果注册到处理程序:
mediaPlayer.mediafiled+=mediaPlayer\u mediafiled
播放本地歌曲(不在SD卡上)时,您会发现出现
未经授权的访问异常

以下是我所做的以及我是如何解决的:

出现此错误的原因是
BackgroundMediaPlayer.Current.SetUriSource
,无论出于何种原因,它只适用于SD卡上的文件

因此,我没有将文件的路径传递给
SetUriSource
,而是加载了
StorageFile

StorageFile sf = await StorageFile.GetFileFromPathAsync(musicDataFullPath);
然后

mediaPlayer.SetStreamSource((await sf.OpenStreamForReadAsync()).AsRandomAccessStream());
所以现在它起作用了