5

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

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

我的问题是这是否是正常行为,或者我的 m3u8 播放列表或客户端实现是否有问题。任何人都可以帮助我澄清这一点吗?

更新:我可以确认这在 iOS 7 中不会发生,所以这似乎是 iOS 8 引入的一个错误。

4

1 回答 1

2

Apple 告诉我,这不是错误,而是一项功能。自 iOS 8 以来,他们使缓冲区更大。

于 2015-04-17T08:01:16.043 回答