Pav*_*ski 5 video avfoundation http-live-streaming http-streaming ios
我正在开发一个使用HTTP Live Streaming技术播放视频的应用程序.
为此我使用AVPlayer init,如下所示:
[[AVPlayer alloc] initWithURL:[NSURL URLWithString:VIDEO_URL]];
然后我使用self.player.currentItem.loadedTimeRanges我的自定义视图检查缓冲区的状态并显示该范围.
问题是当在加载的区域中倒带时[self.player seekToTime:timeToSeek
toleranceBefore:kCMTimeZero
toleranceAfter:kCMTimeZero];,加载视频就像它不在缓冲区中一样.
首先,我的回答假设您正在使用 HTTP Live Streaming 来获取静态 m3u8 列表,否则在视频中查找就没多大意义。
HTTP Live Streaming 使用嵌入子播放列表的 m3u 样式播放列表。每个子播放列表显示不同的视频质量,AVPlayer 根据网络速度选择使用哪一个。
但是,根据Apple 的文档,当播放器最初开始播放时,它首先选择第一个子播放列表,只有在播放了几个 ts 文件后,它才会选择如上所述的适当的子播放列表。
因此,当您寻找某个时间时,播放器可能会首先尝试播放第一个未缓存的子列表。
请尝试以下操作:
CMTimeMake(30, 60)| 归档时间: |
|
| 查看次数: |
1429 次 |
| 最近记录: |