我的iOS应用程序使用AVPlayer从Web流式传输媒体.我正在使用KVO来检测缓冲(playbackBufferEmpty)和被捕获等事件(playbackLikelyToKeepUp).但是,我注意到一个奇怪的特定错误.虽然在大多数网络减速期间,kickBufferEmpty KVO被击中,当它恢复时,playbackLikelyToKeepUp KVO按预期命中,我注意到(有一些频率)AVPlayer将缓冲一段时间,恢复,回放LikeLikelyToKeepUp被击中,音频可能播放1-3秒,然后音频再次停止播放,就好像它正在缓冲一样,而不会再次点击playbackBufferEmpty KVO.它并没有从中恢复过来.
TL; DR:playbackBufferEmpty(10-20秒) – > playbackLikelyToKeepUp – >播放1-3s – >停止比赛,但没有击中KVO.
最糟糕的是,当发生这种情况时,AVPlayer不会像从缓冲中恢复时那样再次自动开始播放,并且应用程序保持静音,直到AVPlayer再次手动停止/启动.每次我流式传输时,它或多或少都会发生.这是AVPlayer的已知问题吗?这是我能看到的第三次KVO活动吗?或者有关如何调试此问题的任何提示?谢谢!
编辑:其他信息:
当发生这种情况时,AVPlayer的错误属性为nil,状态属性为Ready to Play,并且rate属性为1. AKA就我所知,没有其他奇怪的事情发生.