我需要在按下控制按钮(在视频上)时收到通知。例如,如果我点击"暂停"或者"完整的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>) {
...
}
但我只在播放视频时收到通知:如果点击控制按钮,则不会调用此方法。
由于
答案 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)
^如果视频为真/假情况播放或暂停,则会返回