Problème de Core UI avec AVPlayer |
Bienvenue invité ( Connexion | Inscription )
Problème de Core UI avec AVPlayer |
9 Oct 2014, 18:25
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 192 Inscrit : 15 May 2005 Lieu : Buenos Aires - Argentina Membre no 39 263 |
Bonjour,
je suis en train de réaliser un programme avec possibilité de projeter sur un écran annexe, ou un projecteur vidéo, des vidéos. Sur l'écran du mac, il y a une autre visualisation (en petit écran) de ce qui est projeté sur le deuxième écran. J'utilise donc deux AVPlayer, dans chacune des fenêtres. Je définis deux AVPlayerView, le premier s'appelle playerView et le deuxième projPlayerView. Les vidéos à projeter sont dans une NSTableView. Pour le lancement tout va bien. Code - (void)playingVideo:(NSURL*)url{ self.playerView.player = [AVPlayer playerWithURL:url]; self.projPlayerView.player = [AVPlayer playerWithURL:url]; [self.playerView.player play]; [self.projPlayerView.player setVolume:0.0]; [self.projPlayerView.player play]; } Mais lorsque je veux arrêter la vidéo, j'ai la possibilité de mettre en pause Code [self.playerView.player pause]; .Le problème, c'est que la vidéo reste affichée en pause. Donc pour que l'affichage soit complètement vidé, je propose les lignes suivantes de code: Code - (IBAction)stopsVideo:(id)sender{ [self.playerView.player pause]; [self.projPlayerView.player pause]; self.playerView.player = nil; self.projPlayerView.player = nil; } Lorsque ces lignes sont exécutées, j'ai le message suivant qui se répète 7 ou 8 fois dans la console: Code Invalid rect passed to CoreUI: {{nan,nan},{125.000000,21.000000}} Le problème se situe sur le Code self.playerView.player =nil; (Si je mets cette ligne en commentaire, pas de message d'erreur dans la console, mais la vidéo est en pause et l'image reste affichée dans l'application). Le Code self.projPlayerView.player = nil; ne provoque pas de message d'erreur.Quelqu'un aurait-il une idée de ce qui arrive, histoire de corriger ce problème? Merci d'avance... Cordialement, Olivier -------------------- MacBook Air 13'', 8Go RAM, 256 Go / MacBook Pro, 8Go RAM, 500Go / MacMini Intel (2006), 2Go RAM, 500Go
|
|
|
12 Oct 2014, 03:38
Message
#2
|
|
Adepte de Macbidouille Groupe : Membres Messages : 192 Inscrit : 15 May 2005 Lieu : Buenos Aires - Argentina Membre no 39 263 |
Au temps pour moi. L'erreur n'avait rien à voir avec AVPlayer.
De fait la taille indiquée dans le message d'erreur Code Invalid rect passed to CoreUI: {{nan,nan},{125.000000,21.000000}} était la taille d'un NSSlider que j'avais lié au passage d'une vidéo au moyen d'un NSTimer.Donc en mettant le self.playerView.player à nil, le NSSlider a un problème pour savoir à quel endroit dessiner son knob. Le problème est résolu très simplement: Code [sliderTimer invalidate]; self.playerView.player = nil; Plus de message d'erreur... Y'a des fois comme ça, où on se sent bête... -------------------- MacBook Air 13'', 8Go RAM, 256 Go / MacBook Pro, 8Go RAM, 500Go / MacMini Intel (2006), 2Go RAM, 500Go
|
|
|
Nous sommes le : 25th April 2024 - 09:35 |