【发布时间】:2017-05-17 13:23:10
【问题描述】:
在我的一个 iOS 应用程序中,我有一个自定义音频播放器类,它使用基于 URL 的音频资产创建底层 AVPlayer。这一切都非常普通 - 根据 URL 加载一个 AVPlayerItem,异步加载资产数据,然后使用它创建一个 AVPlayer 实例。
一切都很好,但我刚刚发现 AVPlayer 加载音频资产并正确解析它,但拒绝播放任何音频的情况。
当我在启动应用程序之前开始了几个游戏时,就会发生这种情况。例如。我的世界和纪念碑谷。没有万无一失的方法来重现此问题(有时启动 Minecraft 会导致出现此错误,有时不会出现),但如果我启动几个使用音频的游戏,最终会出现此错误。
当我调试应用程序的当前状态时,AVPlayer 没有错误。状态已准备好播放等。一切看起来都应该如此。 AVPlayerItem 也是如此。我无法让应用播放音频...
...除非我启动 Spotify 并播放歌曲。这修复了任何可能存在并导致我的播放器无法播放的音频锁定。如果我随后离开 Spotify 并打开我的应用,我的音频播放器现在可以播放音频了。
任何想法可能导致这种情况?我没有想法。
【问题讨论】:
标签: ios swift avplayer avplayeritem