QTMovieView et Delegate

Bonjour à  tous



Mon problème actuel est le suivant : j'ai commencé à  explorer un peu le framework QTKit. J'arrive à  me servir assez facilement du contrôle QTMovieView. Mon but final est de rajouter à  un programme de gestion de vidéothèque un petit player pour jouer directement la vidéo depuis le programme. J'arrive donc à  ouvrir un film, le faire jouer d'emblée en plein écran, et mettre un menu contextuel personnalisé . Maintenant, vu que QTMovieView possède une propriété delegate, je voudrai savoir quelles sont les méthodes que je peux implémenter dans un objet assistant, en particulier, quelle méthode sera appelé quand le film sera terminé.



La finalité sera, dans le cas d'un film découpé sur plusieurs fichiers, de charger et de lancer directement la partie suivante quand la partie courante s'achèvera.



J'ai bien cherché dans la doc, sur Google, mais aucune trace de protocole de délégation qui m'aurait fourni mes informations.



D'ailleurs, et c'est pourquoi je ne suis pas venu depuis un certain temps, j'ai toujours trouvé les solutions par moi même, en expérimentant et en lisant et relisant les docs. Mais là , je n'ai pas le moindre début de piste. Merci d'avance

Réponses

  • Il faut s'enregistrer pour recevoir le notif qui va bien :
    <br />
    NSNotificationCenter* center=[NSNotificationCenter defaultCenter];<br />
    [center addObserver:self selector:@selector(movieDidEnd:) name:QTMovieDidEndNotification object:qtMovie]];<br />
    
  • Merci pour cette réponse. Donc, je crée un objet QTMovie que j'initialise avec le fichier vidéo.Puis, je mets cet objet QTMovie en paramètre du contrôle QTMovieView. Je lance mon film, plein écran, pop-corn, bonbons, caramels chocolats et patin-couffin. Puis j'attends la notification QTMovieDidEndNotification , soit pour arrêter le player et revenir à  la fiche du film, pour éventuellement le noter à  chaud (c'est prévu dans le programme ) ou lancer la partie suivante, en cas de film sur plusieurs fichiers. Mais, la dernière petite chose est : quel objet envoie cette notification ? le contrôle QTMOvieView ou bien l'objet QTMovie qui contient le film ?
  • mpergandmpergand Membre
    janvier 2013 modifié #4
    Mais, la dernière petite chose est : quel objet envoie cette notification ? le contrôle QTMOvieView ou bien l'objet QTMovie qui contient le film ?




    Regarde la doc sur les notifications.




    - (void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString*)notificationName object:(id)notificationSender



    notificationSender

    The object whose notifications the observer wants to receive; that is, only notifications sent by this sender are delivered to the observer.

    If you pass nil, the notification center doesn't use a notification's sender to decide whether to deliver it to the observer.




    La formulation est un peu alambiquée.



    Concrètement dans ton cas, si tu spécifies un QTMovie pour object: , tu recevras uniquement les notifications envoyées par ce QTMovie.

    Si tu spécifies nil, tu recevras les notifications envoyées par tous les QTMovies actifs.
Connectez-vous ou Inscrivez-vous pour répondre.