Je dois observer AVPlayer.status changer.KVO AVPlayer.status dans Swift
J'ai un AVPlayer instance et un contexte variables
private var lastPlayer : AVPlayer?
private var playerStatusContext = 0
Après que je l'ai mis en place la AVPlayer exemple ajouter un observateur comme ceci:
// KVO status property
self.lastPlayer!.addObserver(self, forKeyPath: "status", options: [.new, .initial], context: &playerStatusContext)
Ensuite, j'ai remplacé observerValeur fonctionnent comme si:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
{
let status : AVPlayerStatus? = change?[.newKey] as? AVPlayerStatus
if(status != nil && context == &playerStatusContext)
{
// DO MY STUFF
}
}
Le problème est que changement est soit 0 dictionnaire clé/valeur ou un (quoi que cela signifie) et mon statut locale constante est toujours nulle, hense je peux » Je fais mes trucs.
Peut-être que je suis en train de convertir changement à AVPlayerStatus tort? S'il vous plaît aider. Merci.
Imprime 'change' dans la méthode' observeValue'. Que vois-tu? – rmaddy