我正在一个应用程序中工作,我可以使用AVPlayer实例播放流式广播(仅限音频)的HLS m3u8播放列表,而不会出现任何问题。使用Charles I可以看到播放列表如何以正常速度正确更新(每个9-10秒,这需要一个媒体段文件)。当我执行seekToTime时(回到时间),玩家从我想要的时候成功播放流,但是在Charles中观察玩家如何开始下载大量媒体段文件,消耗大量数据。似乎播放器在此之前下载所有媒体段文件,然后再次保持正常行为。
据我所知,正确的行为是下载媒体段文件,我正在寻找,开始播放,然后每9-10秒不断下载1或2个媒体段文件,就像它一样当我在没有时移的情况下播放流时。
我的问题是,这是正常的行为,还是我的m3u8播放列表或客户端实现可能出错。有人可以帮我解释一下吗?
更新:我可以确认这在iOS 7中没有发生,因此它似乎是iOS 8引入的一个错误。
答案 0 :(得分:1)
Apple告诉我这不是一个错误,而是一个功能。自从iOS 8以来,它们已经使缓冲区更大。