Comment effectuer une action sur les actions Play et Pause d'AVPlayer?

J'ai utilisé AVPlayer pour lire des videos sur mon application rapide. Je veux placer un button de lecture (button personnalisé) au milieu de la video. Je sais comment jouer et mettre en pause la video en appuyant sur le button.

Je ne pouvais pas find comment afficher / masquer le button personnalisé lorsque la video est jouée / mise en pause à partir des buttons par défaut? Y a-t-il un écouteur ou quelque chose qui se triggers lorsque la video est jouée / mise en pause?

Je souhaite également masquer l'icône "Audio & Sous-titres" du contrôle par défaut.

Voici comment vous pouvez écouter les changements d'état du joueur et les buttons masquer / montrer: (supposons que votre joueur s'appelle player , et que le button est playButton )

 player.addObserver(self, forKeyPath: "rate", options: .New, context: nil) // somewhere after player init ... override func observeValueForKeyPath(keyPath: Ssortingng?, ofObject object: AnyObject?, change: [Ssortingng : AnyObject]?, context: UnsafeMutablePointer<Void>) { if keyPath == "rate" { playButton.enabled = player.rate == 1 } else { super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context) } } 

Si le taux de joueur est égal à 0 cela signifie que la video ne joue pas.