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

标签 ios avplayer http-live-streaming avplayeritem seektotime

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

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

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

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

最佳答案

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

关于ios - AVPlayer seekToTime 下载大量消耗大量数据的媒体段文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28325729/

相关文章:

ios - 使用自动布局在 TableView 单元格中自动调整 UIImageView 的大小

ios - 如何访问我的 iOS 应用程序上的 UserDefaults 文件夹

iphone - 在 iphone sdk 中使用后退按钮时位置跟踪停止

swift - 使用 AVFoundation 和 Swift 访问多个音频硬件输出/ channel

python - cv2.VideoWriter 问题

java - 在android中下载、存储和混合.ts文件的正确方法是什么?

ios - 如何在iOS中实现comet-chat时修复 "Invalid API key format"

Swift observevalueforkeypath + loadedTimeRanges 只调用有限的时间

ios - AVPlayer停止缓冲

ffmpeg - 将 ffmpeg 分段文件发送到远程位置