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