doc/LdtPlayer-allocine.js
branchnew-model
changeset 909 aa0e42229784
parent 908 f56199193fad
child 910 b9f1bd52df9a
equal deleted inserted replaced
908:f56199193fad 909:aa0e42229784
     1 /* exemple de code pour ajouter le support d'un autre player flash.
       
     2    Le code était fait à la base pour allociné, étendez le si vous en
       
     3    avez besoin.
       
     4  */
       
     5 
       
     6 /* Il faut étendre cette classe pour que le metadataplayer supporte le player
       
     7    allocine. Pour l'instant, le code présent est celui pour le jwplayer
       
     8  */
       
     9 IriSP.PopcornReplacement.allocine = function(container, options) {
       
    10   /**
       
    11    * Ce constructeur reçoit deux paramètres :
       
    12    * - container est une chaine de caractère indiquant l'id du div dans lequel il
       
    13    *   doit s'initialiser
       
    14    * - options est un dictionnaire contenant les options de configuration du player
       
    15    *   (correspond à la partie de configuration du player dans polemic.htm)
       
    16    */
       
    17   
       
    18   /**
       
    19      appel du parent pour initialiser les structures communes à tous les players -
       
    20      obligatoire.
       
    21   */
       
    22   IriSP.PopcornReplacement.player.call(this, container, options);
       
    23 
       
    24   this.media.duration = options.duration; /* optionnel */
       
    25   
       
    26   /* Préservation de this, au cas où */
       
    27   var _this = this;
       
    28   
       
    29   /** Déclaration au player des fonctions que l'api flash expose - brièvement:
       
    30    *  - play et pause ne prennent pas de paramètres
       
    31    *  - lorsque le metadataplayer appelle getPosition, le player flash doit retourner
       
    32    *    la durée depuis le début en secondes,
       
    33    *  - seek reçoit en paramètre la position en secondes depuis le début de la 
       
    34    *    vidéo vers laquelle on veut seeker.
       
    35    *  - getMute retourne true si le player est muté et false sinon
       
    36    *  - setMute prend un paramètre. Si celui-ci est true la vidéo doit etre mutée,
       
    37    *    sinon le son doit être activé.
       
    38    *
       
    39    *  NB: les valeurs de retour ne sont utilisés quand pour getPosition et getMute.
       
    40    */
       
    41   this.playerFns = {
       
    42     play: function() { return jwplayer(this.container).play(); },
       
    43     pause: function() { return jwplayer(this.container).pause(); },
       
    44     getPosition: function() { return jwplayer(this.container).getPosition(); },
       
    45     seek: function(pos) { return jwplayer(this.container).seek(pos); },
       
    46     getMute: function() { return jwplayer(this.container).getMute() },
       
    47     setMute: function(p) { return jwplayer(this.container).setMute(p); }
       
    48   }
       
    49 
       
    50   /*  Déclaration des callbacks au jwplayer - ces callbacks sont appelés par le 
       
    51    *  player flash au moment où les évenements correspondants sont declenchés.
       
    52    *  le dictionnaire this.callbacks
       
    53    *  contient cinq entrées : onReady, onTime, onPlay, onPause, onSeek.
       
    54    *  
       
    55    *  - onReady est une fonction qui ne prend pas de paramètres et qui est appellée
       
    56    *     quand le player flash a fini de s'initialiser.
       
    57    *  - onTime est appelée périodiquement (par ex, toutes les demi-secondes). Elle
       
    58    *    reçoit en paramètre un dictionnaire qui doit contenir un champ nommé position
       
    59    *    qui contient le temps écoulé depuis le début de la vidéo.
       
    60    *  - onPlay est appelé quand le player commence ou reprend la lecture. Le callback
       
    61    *    ne prend pas de paramètres.
       
    62    *  - onPause est appellé quand le player entre en état pausé. Le callback ne prend
       
    63    *    pas de paramètres.
       
    64    *  - onSeek est appelé quand le player flash seeke une vidéo. Il reçoit en 
       
    65    *    paramètre un object contenant deux entrées :
       
    66    *       - position: la position en secondes depuis le début de la vidéo au moment où l'on seeke
       
    67    *       - offset: la position cible en secondes depuis le début de la vidéo.
       
    68    *    
       
    69    *  Pour réference, voici la doc des évenements proposés par le jwplayer :     
       
    70    *  http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12540/javascript-api-reference#Events
       
    71    */
       
    72   options.events = this.callbacks;
       
    73 
       
    74   /* initialisation du player dans le div qui possède l'id this.container -
       
    75      a remplacer par un appel à swfobject par exemple */
       
    76   jwplayer(this.container).setup(options);
       
    77 };
       
    78 
       
    79 /* Obligatoire pour l'héritage - ne pas modifier */
       
    80 IriSP.PopcornReplacement.allocine.prototype = new IriSP.PopcornReplacement.player("", {});