[英]AVPlayer playing even though rate property is 0
另一個SO帖子建議,當AVPlayer
的rate
屬性為0時,這意味着AVPlayer
不再播放。 我們使用下面的觀察者代碼循環播放視頻,但有時在播放器上調用pause
功能無法中斷循環播放。 調試時, rate
屬性的值為0。
1)鏈接的SO發布是否錯誤,因為費率值0並不表示玩家已暫停?
2)是連續循環中,即使在pause
函數被調用,某種競爭條件,其中pause
功能來后playerItemDidReachEnd
通知已發出?
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem)
private func playVideo() {
player.seekToTime(kCMTimeZero)
player.actionAtItemEnd = .Pause
player.play()
}
設置播放器時:
player.actionAtItemEnd = AVPlayerActionAtItemEnd.None
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "playerItemDidReachEnd:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object: player.currentItem)
這樣可以防止播放器在結尾處暫停。
在通知中:
func playerItemDidReachEnd(notification: NSNotification) {
let p: AVPlayerItem = notification.object as! AVPlayerItem
p.seekToTime(kCMTimeZero)
}
這將倒帶電影。
釋放播放器時,請不要忘記注銷通知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.