|
@@ -19,6 +19,10 @@ function DynamicPlayer()
|
19
|
19
|
{
|
20
|
20
|
return new YoutubePlayer(ref_id, object_for_player);
|
21
|
21
|
}
|
|
22
|
+ if (player_type == 'soundcloud.com')
|
|
23
|
+ {
|
|
24
|
+ return new SoundCloudPlayer(ref_id, object_for_player);
|
|
25
|
+ }
|
22
|
26
|
return new GenericPlayer(element_id, object_for_player);
|
23
|
27
|
}
|
24
|
28
|
|
|
@@ -115,6 +119,78 @@ function GenericPlayer(ref_id, object_for_player)
|
115
|
119
|
}
|
116
|
120
|
}
|
117
|
121
|
|
|
122
|
+function SoundCloudPlayer(ref_id, object_for_player)
|
|
123
|
+{
|
|
124
|
+ var _ref_id = ref_id;
|
|
125
|
+ var _object_for_player = object_for_player;
|
|
126
|
+ var _player = null;
|
|
127
|
+ var _sounds_count = 0;
|
|
128
|
+ var _current_sound_index = 0;
|
|
129
|
+
|
|
130
|
+ this.play = function()
|
|
131
|
+ {
|
|
132
|
+ if (!_player)
|
|
133
|
+ {
|
|
134
|
+ createPlayer();
|
|
135
|
+ }
|
|
136
|
+ }
|
|
137
|
+
|
|
138
|
+ var createPlayer = function()
|
|
139
|
+ {
|
|
140
|
+ var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe');
|
|
141
|
+ _object_for_player.append(div_for_iframe);
|
|
142
|
+
|
|
143
|
+ SC.initialize({
|
|
144
|
+ client_id: '39946ea18e3d78d64c0ac95a025794e1'
|
|
145
|
+ });
|
|
146
|
+
|
|
147
|
+ SC.oEmbed(_ref_id, {
|
|
148
|
+ show_artwork: false
|
|
149
|
+ }, function(oembed){
|
|
150
|
+ _object_for_player.html(oembed.html)
|
|
151
|
+ var iframe = _object_for_player.find('iframe')[0];
|
|
152
|
+ _player = SC.Widget(iframe);
|
|
153
|
+ _player.bind(SC.Widget.Events.READY, event_ready);
|
|
154
|
+ _player.bind(SC.Widget.Events.PLAY, event_play);
|
|
155
|
+ _player.bind(SC.Widget.Events.FINISH, event_finish);
|
|
156
|
+ });
|
|
157
|
+
|
|
158
|
+ var event_ready = function()
|
|
159
|
+ {
|
|
160
|
+ console.log('sc ready');
|
|
161
|
+ _player.play();
|
|
162
|
+ _player.getSounds(function(value){
|
|
163
|
+ _sounds_count = value.length;
|
|
164
|
+ });
|
|
165
|
+ }
|
|
166
|
+
|
|
167
|
+ var event_play = function()
|
|
168
|
+ {
|
|
169
|
+ console.log('sc play');
|
|
170
|
+ _player.getSounds(function(value){
|
|
171
|
+ _sounds_count = value.length;
|
|
172
|
+ });
|
|
173
|
+ _player.getCurrentSoundIndex(function(value){
|
|
174
|
+ _current_sound_index = value;
|
|
175
|
+ });
|
|
176
|
+ }
|
|
177
|
+
|
|
178
|
+ var event_finish = function()
|
|
179
|
+ {
|
|
180
|
+ if (_sounds_count == _current_sound_index+1)
|
|
181
|
+ {
|
|
182
|
+ event_finish_playlist();
|
|
183
|
+ }
|
|
184
|
+ }
|
|
185
|
+
|
|
186
|
+ var event_finish_playlist = function()
|
|
187
|
+ {
|
|
188
|
+ // Fin de lecture
|
|
189
|
+ }
|
|
190
|
+
|
|
191
|
+ }
|
|
192
|
+}
|
|
193
|
+
|
118
|
194
|
function PlayersManager()
|
119
|
195
|
{
|
120
|
196
|
var _players = new Array();
|