SoundCloudPlayer.js 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. function SoundCloudPlayer(ref_id, object_for_player)
  2. {
  3. var _ref_id = ref_id;
  4. var _object_for_player = object_for_player;
  5. var _player = null;
  6. var _sounds_count = 0;
  7. var _current_sound_index = 0;
  8. this.play = function()
  9. {
  10. if (!_player)
  11. {
  12. createPlayer();
  13. }
  14. }
  15. var createPlayer = function()
  16. {
  17. var div_for_iframe = $('<div>').attr('id', _object_for_player.attr('id')+'_iframe');
  18. _object_for_player.append(div_for_iframe);
  19. SC.initialize({
  20. client_id: '39946ea18e3d78d64c0ac95a025794e1'
  21. });
  22. SC.oEmbed(_ref_id, {
  23. show_artwork: false
  24. }, function(oembed){
  25. _object_for_player.html(oembed.html)
  26. var iframe = _object_for_player.find('iframe')[0];
  27. _player = SC.Widget(iframe);
  28. _player.bind(SC.Widget.Events.READY, event_ready);
  29. _player.bind(SC.Widget.Events.PLAY, event_play);
  30. _player.bind(SC.Widget.Events.FINISH, event_finish);
  31. });
  32. var event_ready = function()
  33. {
  34. console.log('sc ready');
  35. _player.play();
  36. _player.getSounds(function(value){
  37. _sounds_count = value.length;
  38. });
  39. }
  40. var event_play = function()
  41. {
  42. console.log('sc play');
  43. _player.getSounds(function(value){
  44. _sounds_count = value.length;
  45. });
  46. _player.getCurrentSoundIndex(function(value){
  47. _current_sound_index = value;
  48. });
  49. }
  50. var event_finish = function()
  51. {
  52. if (_sounds_count == _current_sound_index+1)
  53. {
  54. event_finish_playlist();
  55. }
  56. }
  57. var event_finish_playlist = function()
  58. {
  59. // Fin de lecture
  60. }
  61. }
  62. }