我正在使用 AVPlayer 来流式传输远程音频文件。当一个项目结束时,我会将一个新项目加载到 AVPlayer 中,然后再次开始播放。这在 iOS 9.2 的前台和后台都运行良好。随着 iOS 9.3 的发布,这种方法不再有效。我不得不切换到使用 AVQueuePlayer 以确保当一首歌曲结束时音频将继续播放下一首歌曲。
我现在的问题是,我的应用程序中有些场景需要 AVQueuePlayer 或 AVPlayer 获取新的 URL 并将其加载到播放器中,然后开始播放,所有这些都在后台进行。这在 iOS 9.2 中运行良好,但现在在 9.3 中它就停止工作了。
有谁知道为什么它停止工作以及如何解决它? Apple 做出这样的更改而不提及任何相关内容是否很常见?
更新:我什至尝试了一种 hack,我开始播放第二个播放器,而第一个播放器从新 URL 加载新项目,这样音频就不会停止。这也没有用。
最佳答案
通过添加行
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
查看是否加载...这解决了问题...
关于ios - 当应用程序处于后台时,是否无法更改 AVPlayer 或 AVQueuePlayer 中的播放器项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36368398/