BackgroundMediaPlayer设置媒体库项目的Uri源

时间:2014-07-01 12:06:25

标签: c# audio windows-phone-8.1

WP 8.1让BackgroundMediaPlayer播放背景音频。

http://www.jayway.com/2014/04/24/windows-phone-8-1-for-developers-the-background-media-player/

在本教程中,作者设置ms-appx源播放歌曲:

BackgroundMediaPlayer.Current.SetUriSource(new Uri("ms-appx:///Assets/Media/Ring01.wma"));

成功。 但是,我如何使用音乐库中的音频设置SetUriSource?仅使用SetUriSource,因为:

  

新的背景播放器有三种简单的播放歌曲的方法。 SetFileSource,SetStreamSource和SetUriSource。其中只有一个可以从前台应用程序调用,即SetUriSource方法。其他人需要从您的任务中使用。这样做的原因是后台播放器无法访问SetFIleSource或SetStreamSource所在的内存,除非在任务中设置它。

我可以阅读有关WP8.1的高级内容吗? 谢谢你提前。

2 个答案:

答案 0 :(得分:4)

您无法使用SetUriSource访问库或可移动存储中的文件,至少不能使用后台任务。您需要使用SetFileSource或SetStreamSource。不幸的是,这在任何地方都没有记录。

答案 1 :(得分:1)

您可以使用文件的完整系统路径,使用 MusicLibrary 中的文件设置您的Uri。例如:

StorageFile file = (await KnownFolders.MusicLibrary.GetFilesAsync()).FirstOrDefault();
BackgroundMediaPlayer.Current.SetUriSource(new Uri(file.Path, UriKind.RelativeOrAbsolute));