代码之家  ›  专栏  ›  技术社区  ›  Changerrs

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

  •  2
  • Changerrs  · 技术社区  · 7 年前

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

    进一步澄清一下,有没有一种方法可以设置一个“监听器/观察器”来处理50%的事件?

    1 回复  |  直到 7 年前
        1
  •  5
  •   kgaidis    7 年前

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

    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
        }
    }