【发布时间】:2012-08-21 11:26:04
【问题描述】:
这行得通:我有一个AVPlayer,它会在视频加载后立即播放。这很好用。
这不是:
我不想从头开始播放视频,而是想在给定位置播放它。所以我等到资产准备好使用 KVO 进行播放:
BOOL isReadyToSeek = (self.playerItem.status == AVPlayerStatusReadyToPlay)
然后寻找给定的时间
[playerItem seekToTime:timeInTheMiddleOfTheVideo completionHandler:myHandler];
但播放器将始终在初始搜索时从视频的开头开始。
更新 我在几秒钟内尝试了 dispatch_after ,但这也不起作用。它在播放后有效,但最初从不。
当我观察到self.player.currentItem.duration 时,我不断将0 作为value 和timescale。
【问题讨论】:
-
你是说如果你延迟它会起作用吗?
-
你确定你传递了一个有效的时间参数吗? timeInTheMiddleOfTheVideo 的值是多少?
-
视频大约 30 分钟。我还尝试了 CMTimakewotgseconds(15,1),它绝对在界限内
-
你说播放后就可以了。也许对我来说这是一个愚蠢的问题,但如果你玩然后立即寻找会发生什么?
-
根本不是一个愚蠢的问题:-) 问题是因为设置一个滑块会触发初始播放,所以我不想从头开始,除非滑块设置为开始轨道...
标签: objective-c ios cocoa-touch video avplayer