0
に特別秒に達したときにチェックする私はAVPlayerを持っており、いくつかのことをしたい:
どのようにAVプレーヤーが迅速な3
ビデオが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秒目に到達するときに使用します。 5秒後に実行されるブロックを追加play()
を呼び出した後
おかげで、それが働いたたくさん! –