我的iOS应用使用AVPlayer
从网络流媒体。我正在使用KVO来检测缓冲(playbackBufferEmpty
)和被抓(playbackLikelyToKeepUp
)等事件。但是,我注意到一个怪异的特定错误。虽然在大多数网络速度减慢时,KVO被击中,当它恢复时,按照预期击中playbackLikelyToKeepUp
KVO,我注意到(有一些频率)AVPlayer
将缓冲一段时间,恢复,playbackLikelyToKeepUp
被击中,音频可能会播放1-3秒,然后音频停止播放,就好像它正在缓冲 - 没有再次点击playbackBufferEmpty
KVO。而且它不能从中恢复。AVPlayer在缓冲后未恢复
TL; DR:playbackBufferEmpty
(10-20秒) - >playbackLikelyToKeepUp
- >播放1-3s - >停止播放,但不会播放KVO。
最糟糕的部分是发生这种情况时,AVPlayer
不像从缓冲恢复时那样自动重新开始播放,并且应用程序保持沉默,直到AVPlayer
被手动停止/再次启动。它最终会在我每次流时发生。这是AVPlayer
的已知问题吗?这是我可以观看的第三次KVO赛事吗?或者有关如何调试的任何提示?谢谢!
编辑:附加信息: 的AVPlayer
的error
属性为nil
当这种情况发生时,status
属性是准备上场,而rate
属性是1 AKA闲来无事怪异事情,据我可以告诉。