0

我正在使用 AVAudioPlayer 的实例播放音乐。一旦一首歌曲完成,“播放列表”中的下一首歌曲将使用 NSURLConnection 下载。

我卡住的地方:我希望能够下载播放列表中的下一个音频文件,并在手机锁定或用户使用另一个应用程序时开始在后台播放。我该怎么做呢?

我偶然发现了这篇文章:使用建议使用 AVAudioplayer 在后台播放音乐[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];,但这似乎只允许在后台播放音频,而不是启动下载。

这当然是可能的,因为 Pandora、Spotify 和其他人都可以做到......帮助!

4

2 回答 2

1

您应该请求系统让您在下载音频文件时在后台运行。您可以通过使用 UIApplication 的 beginBackgroundTaskWithExpirationHandler: 方法来做到这一点。下载文件后,您可以让 AVAudioPlayer 播放您的文件。

于 2012-09-11T22:33:37.497 回答
0

您应该阅读有关多任务处理的 Apple 文档。

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW3

您需要将 UIBackgroundModes 键添加到 info.plist 以获取音频。这会阻止您的应用程序被暂停,然后所有正常的回调仍将运行。

于 2012-09-11T22:20:51.107 回答