AVPlayer覆盖视频控件

时间:2016-01-07 15:01:02

标签: ios swift avplayer

我需要在按下控制按钮(在视频上)时收到通知。例如,如果我点击"暂停"或者"完整的scren"按钮我需要实现一些逻辑。我可以覆盖AVPlayerViewController的方法吗?我找到AVPlayerViewControllerDelegate但我无法找到任何覆盖的方法。

我还尝试将观察者添加到AVPlayer

player.addObserver(self, forKeyPath: "status", options:NSKeyValueObservingOptions(), context: nil)

我用过:

override func observeValueForKeyPath(keyPath: String,
ofObject object: AnyObject, change: [String : AnyObject],
context: UnsafeMutablePointer<Void>) {
...
}

但我只在播放视频时收到通知:如果点击控制按钮,则不会调用此方法。

由于

2 个答案:

答案 0 :(得分:0)

按下暂停时,AVPlayer会发出NSNotification。 AVPlayerDidPauseNotification(或类似的东西)。您可以在NSNotificationCenter中为此通知注册一个监听器。

答案 1 :(得分:0)

键路径不同,对于swift,点击后检查播放/暂停:

  player .addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions.New, context: nil)

并在

observeValueForKeyPath

像这样检查

if ((change!["new"] as! Int) == 1)

^如果视频为真/假情况播放或暂停,则会返回