|
@@ -1,4 +1,3 @@
|
1
|
|
-
|
2
|
1
|
function DynamicPlayer()
|
3
|
2
|
{
|
4
|
3
|
|
|
@@ -33,257 +32,6 @@ function DynamicPlayer()
|
33
|
32
|
|
34
|
33
|
}
|
35
|
34
|
|
36
|
|
-function YoutubePlayer(ref_id, object_for_player)
|
37
|
|
-{
|
38
|
|
- var _ref_id = ref_id;
|
39
|
|
- var _object_for_player = object_for_player;
|
40
|
|
- var _yt_player;
|
41
|
|
-
|
42
|
|
- this.play = function()
|
43
|
|
- {
|
44
|
|
- create_player();
|
45
|
|
- }
|
46
|
|
-
|
47
|
|
- var create_player = function()
|
48
|
|
- {
|
49
|
|
- var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe');
|
50
|
|
- _object_for_player.append(div_for_iframe);
|
51
|
|
-
|
52
|
|
- _yt_player = new YT.Player(_object_for_player.attr('id')+'_iframe', {
|
53
|
|
- height : config_player_youtube_height,
|
54
|
|
- width : config_player_youtube_width,
|
55
|
|
- videoId : _ref_id,
|
56
|
|
- events : {
|
57
|
|
- 'onReady': onPlayerReady,
|
58
|
|
- 'onStateChange': onPlayerStateChange
|
59
|
|
- }
|
60
|
|
- });
|
61
|
|
-
|
62
|
|
-
|
63
|
|
- }
|
64
|
|
-
|
65
|
|
- var onPlayerReady = function(event)
|
66
|
|
- {
|
67
|
|
- _yt_player.playVideo();
|
68
|
|
- }
|
69
|
|
-
|
70
|
|
- var onPlayerStateChange = function(event)
|
71
|
|
- {
|
72
|
|
- if (event.data == YT.PlayerState.PLAYING)
|
73
|
|
- {
|
74
|
|
-
|
75
|
|
- }
|
76
|
|
- if (event.data == YT.PlayerState.ENDED)
|
77
|
|
- {
|
78
|
|
-
|
79
|
|
- }
|
80
|
|
- if (event.data == YT.PlayerState.PAUSED)
|
81
|
|
- {
|
82
|
|
-
|
83
|
|
- }
|
84
|
|
- if (event.data == YT.PlayerState.BUFFERING)
|
85
|
|
- {
|
86
|
|
-
|
87
|
|
- }
|
88
|
|
- if (event.data == YT.PlayerState.CUED)
|
89
|
|
- {
|
90
|
|
-
|
91
|
|
- }
|
92
|
|
- }
|
93
|
|
-
|
94
|
|
- this.pause = function()
|
95
|
|
- {
|
96
|
|
- _yt_player.pauseVideo();
|
97
|
|
- }
|
98
|
|
-
|
99
|
|
- this.stop = function()
|
100
|
|
- {
|
101
|
|
- _yt_player.stopVideo();
|
102
|
|
- _object_for_player.html('');
|
103
|
|
- }
|
104
|
|
-}
|
105
|
|
-
|
106
|
|
-function GenericPlayer(ref_id, object_for_player)
|
107
|
|
-{
|
108
|
|
- var _ref_id = ref_id;
|
109
|
|
- var _object_for_player = object_for_player;
|
110
|
|
-
|
111
|
|
- this.play = function()
|
112
|
|
- {
|
113
|
|
- JQueryJson(url_get_embed_for_element+'/'+_ref_id, {}, function(response){
|
114
|
|
- if (response.status == 'success')
|
115
|
|
- {
|
116
|
|
- object_for_player.html(response.data);
|
117
|
|
- }
|
118
|
|
- });
|
119
|
|
- }
|
120
|
|
-
|
121
|
|
- this.stop = function()
|
122
|
|
- {
|
123
|
|
- _object_for_player.html('');
|
124
|
|
- }
|
125
|
|
-}
|
126
|
|
-
|
127
|
|
-function SoundCloudPlayer(ref_id, object_for_player)
|
128
|
|
-{
|
129
|
|
- var _ref_id = ref_id;
|
130
|
|
- var _object_for_player = object_for_player;
|
131
|
|
- var _player = null;
|
132
|
|
- var _sounds_count = 0;
|
133
|
|
- var _current_sound_index = 0;
|
134
|
|
-
|
135
|
|
- this.play = function()
|
136
|
|
- {
|
137
|
|
- if (!_player)
|
138
|
|
- {
|
139
|
|
- createPlayer();
|
140
|
|
- }
|
141
|
|
- }
|
142
|
|
-
|
143
|
|
- var createPlayer = function()
|
144
|
|
- {
|
145
|
|
- var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe');
|
146
|
|
- _object_for_player.append(div_for_iframe);
|
147
|
|
-
|
148
|
|
- SC.initialize({
|
149
|
|
- client_id: '39946ea18e3d78d64c0ac95a025794e1'
|
150
|
|
- });
|
151
|
|
-
|
152
|
|
- SC.oEmbed(_ref_id, {
|
153
|
|
- show_artwork: false
|
154
|
|
- }, function(oembed){
|
155
|
|
- _object_for_player.html(oembed.html)
|
156
|
|
- var iframe = _object_for_player.find('iframe')[0];
|
157
|
|
- _player = SC.Widget(iframe);
|
158
|
|
- _player.bind(SC.Widget.Events.READY, event_ready);
|
159
|
|
- _player.bind(SC.Widget.Events.PLAY, event_play);
|
160
|
|
- _player.bind(SC.Widget.Events.FINISH, event_finish);
|
161
|
|
- });
|
162
|
|
-
|
163
|
|
- var event_ready = function()
|
164
|
|
- {
|
165
|
|
- console.log('sc ready');
|
166
|
|
- _player.play();
|
167
|
|
- _player.getSounds(function(value){
|
168
|
|
- _sounds_count = value.length;
|
169
|
|
- });
|
170
|
|
- }
|
171
|
|
-
|
172
|
|
- var event_play = function()
|
173
|
|
- {
|
174
|
|
- console.log('sc play');
|
175
|
|
- _player.getSounds(function(value){
|
176
|
|
- _sounds_count = value.length;
|
177
|
|
- });
|
178
|
|
- _player.getCurrentSoundIndex(function(value){
|
179
|
|
- _current_sound_index = value;
|
180
|
|
- });
|
181
|
|
- }
|
182
|
|
-
|
183
|
|
- var event_finish = function()
|
184
|
|
- {
|
185
|
|
- if (_sounds_count == _current_sound_index+1)
|
186
|
|
- {
|
187
|
|
- event_finish_playlist();
|
188
|
|
- }
|
189
|
|
- }
|
190
|
|
-
|
191
|
|
- var event_finish_playlist = function()
|
192
|
|
- {
|
193
|
|
- // Fin de lecture
|
194
|
|
- }
|
195
|
|
-
|
196
|
|
- }
|
197
|
|
-}
|
198
|
|
-
|
199
|
|
-function GenericSong(title, mp3)
|
200
|
|
-{
|
201
|
|
- this.title = title;
|
202
|
|
- this.mp3 = mp3;
|
203
|
|
-}
|
204
|
|
-
|
205
|
|
-function JamendoPlayer(ref_id, object_for_player)
|
206
|
|
-{
|
207
|
|
- var _ref_id = ref_id;
|
208
|
|
- var _object_for_player = object_for_player;
|
209
|
|
- var _playlist = new Array();
|
210
|
|
-
|
211
|
|
- this.play = function()
|
212
|
|
- {
|
213
|
|
- create_player();
|
214
|
|
- }
|
215
|
|
-
|
216
|
|
- var create_player = function()
|
217
|
|
- {
|
218
|
|
- // TODO efactoriser dans un objet lecteur generique
|
219
|
|
- var jplayer_player = $('#jquery_jplayer_1').clone();
|
220
|
|
- var jplayer_content = $('#jp_container_1').clone();
|
221
|
|
-
|
222
|
|
- jplayer_player.attr ('id', 'jplayer_player_element_'+ref_id);
|
223
|
|
- jplayer_content.attr('id', 'jplayer_content_element_'+ref_id);
|
224
|
|
-
|
225
|
|
- _object_for_player.html('');
|
226
|
|
- _object_for_player.append(jplayer_player);
|
227
|
|
- _object_for_player.append(jplayer_content);
|
228
|
|
-
|
229
|
|
- JQueryJson(url_element_get_stream_data+'/'+ref_id, {}, function(response){
|
230
|
|
- if (response.status == 'success')
|
231
|
|
- {
|
232
|
|
-
|
233
|
|
- for(var i = 0; i < response.data.length; i++)
|
234
|
|
- {
|
235
|
|
- var song = new GenericSong(response.data[i].name, response.data[i].url);
|
236
|
|
- _playlist[i] = song;
|
237
|
|
- }
|
238
|
|
-
|
239
|
|
- autoplay_generic_player_playlist = new jPlayerPlaylist
|
240
|
|
- (
|
241
|
|
- {
|
242
|
|
- jPlayer: '#jplayer_player_element_'+ref_id,
|
243
|
|
- cssSelectorAncestor: '#jplayer_content_element_'+ref_id
|
244
|
|
- },
|
245
|
|
- _playlist,
|
246
|
|
- {
|
247
|
|
- playlistOptions:
|
248
|
|
- {
|
249
|
|
- autoPlay: true,
|
250
|
|
- enableRemoveControls: true
|
251
|
|
- },
|
252
|
|
- swfPath: "/jplayer/js",
|
253
|
|
- supplied: "mp3",
|
254
|
|
- wmode: "window"
|
255
|
|
- }
|
256
|
|
- );
|
257
|
|
-
|
258
|
|
- $('#jplayer_player_element_'+ref_id).bind($.jPlayer.event.play, event_play);
|
259
|
|
- $('#jplayer_player_element_'+ref_id).bind($.jPlayer.event.ended, event_end);
|
260
|
|
- $('#jplayer_player_element_'+ref_id).bind($.jPlayer.event.error, event_error);
|
261
|
|
-
|
262
|
|
- }
|
263
|
|
- });
|
264
|
|
- }
|
265
|
|
-
|
266
|
|
- var event_play = function(event)
|
267
|
|
- {
|
268
|
|
-
|
269
|
|
- }
|
270
|
|
-
|
271
|
|
- var event_end = function(event)
|
272
|
|
- {
|
273
|
|
-
|
274
|
|
- }
|
275
|
|
-
|
276
|
|
- var event_error = function(event)
|
277
|
|
- {
|
278
|
|
-
|
279
|
|
- }
|
280
|
|
-
|
281
|
|
- this.stop = function()
|
282
|
|
- {
|
283
|
|
-
|
284
|
|
- }
|
285
|
|
-}
|
286
|
|
-
|
287
|
35
|
function PlayersManager()
|
288
|
36
|
{
|
289
|
37
|
var _players = new Array();
|