AVPlayer seekToTime 下载大量消耗大量数据的媒体段文件

AVPlayer seekToTime download an insane amount of media segment files consuming a lot of data

我在一个应用程序中工作,我可以使用 AVPlayer 实例毫无问题地播放流式广播的 HLS m3u8 播放列表(仅音频)。使用 Charles,我可以看到播放列表如何以正常速度正确更新(每 9-10 秒,这需要一个媒体片段文件)。当我执行 seekToTime:(回到过去)时,播放器成功播放了我想要的流,但在 Charles 中,我观察到播放器如何开始下载大量媒体片段文件,消耗大量数据。似乎播放器下载了所有媒体片段文件直到那个时候,然后再次保持正常行为。

我知道正确的做法是在我想要的时间下载媒体片段文件,开始播放,然后每隔 9-10 秒不断下载 1 或 2 个媒体片段文件,就像它所做的那样当我在没有时移的情况下播放流时。

我的问题是这是否属于正常行为,或者我的 m3u8 播放列表或客户端实现是否有问题。谁能帮我澄清一下?

更新:我可以确认这不会在 iOS 7 中发生,因此这似乎是 iOS 8.

引入的错误

Apple 告诉我这不是错误,而是一项功能。自 iOS 8.

以来,他们将缓冲区变大了