0

我正在开发一个能够播放从服务器流式传输的音轨的应用程序。即使屏幕被锁定或应用程序置于后台,此应用程序也需要能够播放音频。

=====

对于 windows phone 中的后台音频播放,需要后台音频代理。

Microsoft 提供的示例显示了基础知识:http: //msdn.microsoft.com/en-us/library/windowsphone/develop/hh202978 (v=vs.105).aspx

在示例中,背景音频代理有一个静态轨道列表,当用户在主项目中点击跳过/上一个时,它只是将其转发到单例 BackgroundAudioPlayer 对象,该对象反过来使用 BackgroundAudioAgent 项目中的事件处理程序来加载下一首/上一首歌曲。

但是,我认为一个常见的用例是主项目将具有播放列表的详细信息(如从服务器检索的列表),我们只需要 backgroundaudio 代理将该请求转发到主项目。

我的问题是

  1. 有什么方法可以将用户操作从音频代理转发到主项目,以便主项目可以确定播放哪个曲目?

PS:我不能使用 MediaElement(它在 Window Store App 中似乎可以正常工作并提供后台支持),因为在 Windows Phone SDK 中它没有后台支持。

编辑:当屏幕被锁定时,即使后台代理正在运行,应用程序本身也可以终止,所以我猜没有将请求转发给应用程序的机制。这将意味着,后台代理必须是自给自足的......这将是一个糟糕的设计,不得不跳过一些看似常见的行为(播放存储在需要身份验证的远程服务器中的音频)。

此时,我正在考虑将所有 URL 特定信息写入文件,并让后台音频代理读取该保存的文件并通过服务器进行身份验证并创建音轨。但是,在应用程序恢复时显示当前音频信息的握手至少可以说是复杂的。

我希望我错了,实际上有比这更简单的方法。很想看看其他人是如何处理这个问题的。

4

0 回答 0