動画が外部要因(バックグランド移動)によって停止されたりなんだりしたりした時にキー監視をする機会があったので
また、動画が再生されているかどうかは rate
で判断されているとのこと
player.addObserver(self, forKeyPath: "rate", options: .New, context: nil)
まずは、KVOを設定
override func observeValueForKeyPath(keyPath: String?,
ofObject object: AnyObject?,
change: [String : AnyObject]?,
context: UnsafeMutablePointer<Void>) {
if keyPath == "rate" {
if player?.rate = 0.0 {
print("Pause")
} else if player.?rate = 1.0 {
print("Play")
} else {
print("Unknown")
}
}
}
あとはViewControllerから脱出するときにKVOを削除する
player.removeObserver(self, forKeyPath: "rate")