我在一个应用程序中工作,在这个应用程序中,我可以播放流媒体收音机(仅限于音频)的HLS m3u8播放列表,而不用使用AVPlayer实例就没有任何问题。使用Charles,我可以看到播放列表是如何以正常的速度正确更新的(每9-10秒,这需要一个媒体段文件)。当我执行seekToTime:(回溯时间)时,播放机成功地播放了我想要的流,但在Charles中,我观察到播放机如何开始加载大量的媒体段文件,消耗了大量数据。似乎播放器下载所有的媒体段文件,直到那个时候,然后继续保持正常的行为。
我知道正确的行为是在我想要的时候下载媒体段文件,开始播放它,然后继续下载每9-10秒的1到2个媒体段文件,就像我在没有时差的情况下播放流时一样。
我的问题是,这是否是一种正常行为,或者我的m3u8播放列表或客户端实现是否有问题。有人能帮我澄清这件事吗?
更新:我可以确认这在iOS 7中没有发生,因此它似乎是iOS 8引入的一个bug。
发布于 2015-04-17 08:01:16
苹果公司告诉我,这不是一个bug,而是一个功能。从iOS 8开始,缓冲区就变大了。
https://stackoverflow.com/questions/28325729
复制相似问题