0

我有一个通用的 Windows 商店项目。在Windows Phone某种程度上,我使用 aBackgroundMediaPlayer.Current来播放音频。该应用程序通过KnownFolders.MusicLibrary. 问题是当我在带有虚拟 SD 卡的模拟器上运行我的应用程序时,音乐播放并且一切顺利。但是当我将应用程序部署到我的Lumia 920runningWP8.1 DevPreview并按下“Play”按钮时,什么也没有发生。没有例外,没有强制关闭......完全没有。问题:这是内部存储问题(Lumia 920没有 SD 卡)还是BackgroundMediaPlayer存在错误或隐藏在操作系统预览版中的错误?

4

1 回答 1

1

我只是有同样的问题。

如果您注册到处理程序:mediaPlayer.MediaFailed += mediaPlayer_MediaFailed;您会发现UnauthorizedAccessException在播放本地歌曲时会收到一个(不是在 SD 卡上)。

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

发生错误是由于BackgroundMediaPlayer.Current.SetUriSource,无论出于何种原因,它仅适用于 SD 卡上的文件。

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

StorageFile sf = await StorageFile.GetFileFromPathAsync(musicDataFullPath);

接着

mediaPlayer.SetStreamSource((await sf.OpenStreamForReadAsync()).AsRandomAccessStream());

所以现在它可以工作了....

于 2014-08-29T16:06:05.743 回答