Afficher l'écoulement du temps d'une vidéo en lecture
CrazyJo
Membre
Bonjour,
Petite solicitation du jour : comment faire pour afficher le temps écoulé d'une vidéo lue...
J'utilise bien sûr QTKit et je connais l'attribut currentTime qui retourne le temps courant de la lecture.
Mon problème est comment faire en sorte que mon objet QTMovieView notifie "sans cesse" ma fonction du type "afficherLeTempsEcoule" ... Il y a bien un exemple d'Apple qui fait ce que je demande mais je me perds dans leurs classes...
(http://developer.apple.com/library/mac/#samplecode/QTKitMovieShuffler/Introduction/Intro.html)
Merci
Petite solicitation du jour : comment faire pour afficher le temps écoulé d'une vidéo lue...
J'utilise bien sûr QTKit et je connais l'attribut currentTime qui retourne le temps courant de la lecture.
Mon problème est comment faire en sorte que mon objet QTMovieView notifie "sans cesse" ma fonction du type "afficherLeTempsEcoule" ... Il y a bien un exemple d'Apple qui fait ce que je demande mais je me perds dans leurs classes...
(http://developer.apple.com/library/mac/#samplecode/QTKitMovieShuffler/Introduction/Intro.html)
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ca installe un callback sur le movieController, c'est du bon gros Carbon qui tache
Pour pas te prendre la tête avec ça, tu peux faire la même chose avec un simple NSTimer qui se déclenche toutes les secondes ...
Effectivement c'est du lourd ton code ! Je vais encore creuser un peu l'exemple d'Apple puis je retournerai sur ta proposition. Au passage : 'goto' c'est de l'obj-c ? ( goto bail ? )
Je prends toujours les nouvelles propositions au passage
Au final c'est moins anodin que ça y paraà®t cette fonctionnalité ...
C'est pas mon code, c'est celui d'Apple dans l'exemple que tu as mis en lien
Donc à propos de cet exemple j'essaie de remonter le code depuis cette méthode de la classe AppController (ligne 447) :
En effet c'est là que le contenu du NSTextField movieTimeTextBox est rafraà®chi.
Ca me remonte jusqu'à ici : (ligne 723) toujours dans AppController :
Et c'est là que je me rends compte qu'ils ont créé une classe perso MyQTMovie ...
A l'intérieur on retrouve ce code :
avec le fameux appel à installMCActionFilter qui mène au code que tu viens de poster ...
et pour finir la méthode -(IBAction)playMovie:(id)sender appel cette méthode :
Avec la création de ce fameux objet ... curMovie...
Donc voilà j'essaie de factoriser tout ça ... c'est pas gagné
Allez courage, vite une Perrier et c'est reparti !
Non, c'est du langage C. Peu de bouquins en parlent parce que ça peut conduire à de mauvaises habitudes, mais c'est parfois une manière plus lisible de sortir de plusieurs boucles imbriquées ou de sauter à la partie de gestion des erreurs (comme dans cet exemple).
En règle générale, il faut faire des sauts en avant et jamais en arrière.
J'ai finalement opté pour un NSTimer ::)