| author | veltr |
| Fri, 06 Apr 2012 17:10:09 +0200 | |
| branch | cinecast-traces |
| changeset 845 | c921b7289049 |
| parent 791 | f1d90a404de4 |
| permissions | -rw-r--r-- |
|
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("", {}); |