This other SO post建议当ratean的属性为AVPlayer0时,这意味着AVPlayer不再播放。我们使用下面的观察者代码来循环视频,但有时pause在播放器上调用该函数无法中断循环。调试时,该rate属性的计算结果为 0。
1) 链接的 SO 帖子是否错误,因为速率值为 0 并不意味着播放器已暂停?
2)连续循环,即使在调用函数之后,在通知已经发出之后函数出现的pause某种竞争条件?pauseplayerItemDidReachEnd
NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerItemDidReachEnd:", name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem)
private func playVideo() {
player.seekToTime(kCMTimeZero)
player.actionAtItemEnd = .Pause
player.play()
}