AVPlayer seekToTime永远不会完成

时间:2014-05-19 13:51:13

标签: ios objective-c video-streaming avplayer

我正在使用AVPlayer远程流式传输视频。每当我擦洗并使用seekToTime时它就可以工作,并且视频会从该位置播放,但是如果我按顺序执行此操作,那么seekToTime的完成处理程序永远不会返回" finished == YES&# 34; 并且卡住了。

此外,在分析连接时,它表明缓冲区永远不会再次加载,即使之后再次调用seekToTime。我可以将洗涤器拖到开头,播放将恢复,但它不再缓冲,因此一旦缓冲区用完但没有缓冲区,它将卡在"缓冲" 状态正在下载。

任何想法可能出错?

2 个答案:

答案 0 :(得分:1)

问题在于内容分发网络。流媒体网址即将到期,然后不再流向播放器

答案 1 :(得分:0)

我很长时间以来一直遇到这个问题,但是还注意到,即使搜索从未完成,我也会(通过传递给addPeriodicTimeObserverForInterval:queue:usingBlock:的块)快速获取与目标搜索相匹配的当前播放位置更新。

但是,在初始化带有项目的播放器时,我似乎以错误的顺序执行了某些操作。我将设置一个项目,并且当玩家的状态变为AVPlayerStatusReadyToPlay时,我将开始搜索,并且它将永远不会完成。但是,如果直到当前玩家项目状态为AVPlayerItemStatusReadyToPlay时我才开始搜索,那么一切都会很好。