我有一个通用的 Windows 商店项目。在Windows Phone
某种程度上,我使用 aBackgroundMediaPlayer.Current
来播放音频。该应用程序通过KnownFolders.MusicLibrary
. 问题是当我在带有虚拟 SD 卡的模拟器上运行我的应用程序时,音乐播放并且一切顺利。但是当我将应用程序部署到我的Lumia 920
runningWP8.1 DevPreview
并按下“Play”按钮时,什么也没有发生。没有例外,没有强制关闭......完全没有。问题:这是内部存储问题(Lumia 920
没有 SD 卡)还是BackgroundMediaPlayer
存在错误或隐藏在操作系统预览版中的错误?
问问题
712 次
1 回答
1
我只是有同样的问题。
如果您注册到处理程序:mediaPlayer.MediaFailed += mediaPlayer_MediaFailed;
您会发现UnauthorizedAccessException
在播放本地歌曲时会收到一个(不是在 SD 卡上)。
这是我所做的以及我如何解决它:
发生错误是由于BackgroundMediaPlayer.Current.SetUriSource
,无论出于何种原因,它仅适用于 SD 卡上的文件。
因此,我没有将文件的路径传递给SetUriSource
,而是加载了StorageFile
with
StorageFile sf = await StorageFile.GetFileFromPathAsync(musicDataFullPath);
接着
mediaPlayer.SetStreamSource((await sf.OpenStreamForReadAsync()).AsRandomAccessStream());
所以现在它可以工作了....
于 2014-08-29T16:06:05.743 回答