检测AvPlayer何时停止

tca*_*ore 4 ios avplayer

我正在使用AVPlayer类来读取流.我必须监控播放.

这是我的问题:是否可以检测用户何时停止播放器?

我看了一下MPMoviePlayerController.如果用户停止了视频,则此控制器会发送通知:MPMovieFinishReasonUserExited.有同等的吗?

Thl*_*aut 5

您可以rate通过在播放器上添加观察者来监视属性rate.

0.0means 的值暂停视频,而1.0play 值以当前项的自然速率播放.

Apple文档此主题.

希望这可以帮助.


Rez*_*wan 5

这是 @Thlbaut 答案的 swift 3 代码

self.avPlayer?.addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions(rawValue: 0), context: nil)
Run Code Online (Sandbox Code Playgroud)

然后

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
    if keyPath == "rate" {
        if let playRate = self.avPlayer?.rate {
            if playRate == 0.0 {
                print("playback paused")
            } else {
                print("playback started")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2915 次

最近记录:

7 年,11 月 前