我正在开发一款能够播放从服务器流式传输的音轨的应用。即使屏幕被锁定或应用程序放在后台,此应用程序也需要能够播放音频。
=====
对于Windows Phone中的背景音频播放,需要背景音频代理。
Microsoft提供的示例显示了基础知识:http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202978(v=vs.105).aspx
在示例中,背景音频代理具有静态轨道列表,当用户点击主项目中的skip / prev时,它只是将其转发到单个BackgroundAudioPlayer对象,后者又使用BackgroundAudioAgent项目中的事件处理程序加载下一首/上一首歌。
但是,我认为一个常见的用例是主项目将具有播放列表的详细信息(如从服务器检索的列表),我们只需要backgroundaudio代理将该请求转发给主项目。 / p>
我的问题是
P.S:我不能使用MediaElement(它似乎在Window Store App中工作正常并提供后台支持),因为在Windows Phone SDK中它没有后台支持。
编辑:当屏幕被锁定时,即使后台代理正在运行,也可以终止应用程序本身,所以我猜没有机制将请求转发给应用程序。这意味着,后台代理必须是自给自足的...这对于看似常见的行为而言必须跳过篮球是一种糟糕的设计(播放存储在需要身份验证的远程服务器中的音频)。
此时,我正在考虑将所有特定于URL的信息写入文件,并让后台音频代理读取保存的文件并通过服务器进行身份验证并创建音轨。但是,当应用程序恢复时显示当前音频信息的握手将至少是复杂的。
我希望我错了,实际上有一个比这更简单的方法。很想知道其他人是如何处理这件事的。