gpt4 book ai didi

ios - 即使 rate 属性为 0,AVPlayer 仍在播放

转载 作者:行者123 更新时间:2023-11-28 08:47:41 26 4
gpt4 key购买 nike

This other SO post建议何时 rate AVPlayer 的属性(property)为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)
}

这将倒带电影。

释放播放器时不要忘记注销通知。

关于ios - 即使 rate 属性为 0,AVPlayer 仍在播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com