如何检查 AV 播放器何时在 swift 3 中达到特殊秒数

how to check when AV player reach special Seconds in swift 3

我有一个 AVPlayer 并且想做一些事情:

当视频超过5秒时,打印"OK",当当前时间小于5秒时,打印(No)。

我知道我应该使用观察者。但是我没有得到结果。 这里的代码运行良好,但不是自动的。 该代码仅在按钮操作期间有效。但我希望此代码自动 运行。

这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()        
    let currentPlayerItem = Player.currentItem
    let duration = currentPlayerItem?.asset.duration

    let currentTime = Float(self.Player.currentTime().value)


        if currentTime >= 5 {

            print("OK")

        }else if currentTime <= 5 {

            print("NO")
        }

    NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: self.Player.currentItem, queue: nil, using: { (_) in
        DispatchQueue.main.async {
            self.Player.seek(to: kCMTimeZero)
            self.Player.play()
        }
    })

如您所见,我有观察员在视频播放完后再次播放。我想在视频播放到第 5 秒时使用此观察器。

调用 play() 后添加一个 5 秒后运行的块。然后检查播放器是否还在播放。

self.Player.play()
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 5.0) {
    // check if player is still playing
    if self.Player.rate != 0 {
        print("OK")
        print("Player reached 5 seconds")
    }
}