ios - 当应用程序处于后台时,是否无法更改 AVPlayer 或 AVQueuePlayer 中的播放器项目

标签 ios avplayer ios9.3

我正在使用 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/

相关文章:

ios - 随时获取 UTC 时间并处理夏令时

ios - 使用 NSSortDescriptor 在 iOS 中对包装对象数组进行排序

ios - 使用 UIMotionEffect 类在 IOS 6 中启动应用程序时崩溃

ios - AVPlayer 有时无法播放视频

iphone - AVPlayer和本地文件

swift - 如何使用AVPlayer镜像(翻转)播放视频?

ios - 当表格处于编辑模式时,在 UITableView 部分标题上切换 UIButton

objective-c - 如何从 iOS 上的相机胶卷中检索最新照片?

ios - UIAlertController 在 iOS 9.3 中太慢

swift - iOS 应用无法识别我的信标