【发布时间】:2017-05-27 17:54:35
【问题描述】:
我有一个 AVPlayer 并且想做一些事情:
当视频超过 5 秒或更长时,打印“OK”,当当前时间小于 5 秒时,打印(否)。
我知道我应该使用观察者。但我没有得到结果。
这里的代码运行良好,但不是自动运行。
该代码仅在按钮操作期间有效。但我希望这段代码自动运行。
这是我的代码:
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 秒时使用这个观察者。
【问题讨论】:
标签: ios swift3 avplayer seconds