IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Problème de Core UI avec AVPlayer
Options
olivion
posté 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
Go to the top of the page
 
+Quote Post
olivion
posté 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 09:35