AVPlayer seekToTime 永远不会完成
Posted
技术标签:
【中文标题】AVPlayer seekToTime 永远不会完成【英文标题】:AVPlayer seekToTime never completes 【发布时间】:2014-05-19 13:51:13 【问题描述】:我正在使用AVPlayer
远程传输视频。每当我擦洗并使用 seekToTime 时,它都会工作,并且视频会从该位置播放,但是如果我按顺序执行此操作足够多次,则 seekToTime
的完成处理程序永远不会返回 "finished == YES" 和卡住了。
此外,在分析连接时,它显示缓冲区永远不会再次加载,即使之后再次调用 seekToTime
。我可以将scrubber拖到开头,然后播放将继续,但是它不再缓冲,因此一旦缓冲区用完但不会下载缓冲区,它将卡在“buffering”状态。 p>
有什么想法可能是错的吗?
【问题讨论】:
【参考方案1】:我有这个问题很长时间了,但也注意到即使搜索从未完成,我也会很快获得与目标搜索匹配的当前播放位置更新(通过传递给addPeriodicTimeObserverForInterval:queue:usingBlock:
的块)。
不过,在使用项目初始化播放器时,我似乎以错误的顺序做一些事情。我会设置一个项目,当玩家的状态变为AVPlayerStatusReadyToPlay
时,我会开始寻找,但它永远不会完成。但是,如果我在当前播放器项目状态为AVPlayerItemStatusReadyToPlay
之前不开始搜索,那么一切正常。
【讨论】:
【参考方案2】:问题出在内容分发网络上。流式传输 url 即将过期,然后将不再流式传输到播放器
【讨论】:
以上是关于AVPlayer seekToTime 永远不会完成的主要内容,如果未能解决你的问题,请参考以下文章
AVPlayer seekToTime 不正确使用 UISlider
AVPlayer SeekToTime 不工作。每次从头开始