检测AVPlayer何时达到总持续时间的特定百分比?

时间:2017-09-26 17:49:29

标签: ios swift avplayer

当用户正在播放视频时,我试图找出用户何时达到播放的特定百分比。

例如,用户播放视频时我想在用户达到50%时播放一些视图。

更多澄清,有没有办法在50%发生时设置“监听/观察者”?

1 个答案:

答案 0 :(得分:3)

观察的最佳方式可能是使用docs中的periodTimeObserver

func addPeriodicTimeObserver() {
    // Invoke callback every half second
    let interval = CMTime(seconds: 0.5,
                          preferredTimescale: CMTimeScale(NSEC_PER_SEC))
    // Queue on which to invoke the callback
    let mainQueue = DispatchQueue.main
    // Add time observer
    timeObserverToken =
        player.addPeriodicTimeObserver(forInterval: interval, queue: mainQueue) {
            [weak self] time in
            // Check whether the time has reached half of duration
    }
}