ios - 检测 AVPlayer 何时达到总播放时间的一定百分比?

标签 ios swift avplayer

当用户播放视频时,我试图弄清楚用户何时达到一定的播放百分比。

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

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

最佳答案

最好的观察方法可能是使用 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
    }
}

关于ios - 检测 AVPlayer 何时达到总播放时间的一定百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46432851/

相关文章:

ios - AVPlayer音量太慢

iOS:在实时流式传输 (HLS) 中是否可以进行缓冲

ios - AVPlayer 不立即在 iOS 10 上播放视频,而只播放音频

javascript - 是否可以使用 JavaScript 以编程方式在 iOS 移动 Safari 中的文本输入表单字段上触发语音听写?

ios - 当我调用调用 NSLog 的方法时,控制台不显示输出

ios - 在 UIAlertController 中更改标题颜色

iOS - 将图像发送到 Instagram - DocumentInteraction

ios - 检查 CGRect 是否包含在另一个(转换后的)矩形中

objective-c - 为 iOS 构建静态 Graphviz 库

ios - 在另一个类(scene.swift)中引用我的 View Controller - 所有变量都变为空? swift 3