var inititalized = false var $jq_player = null var intv = null //$.jPlayer.platform.android = true; function _initialPlay(media, callback){ $jq_player.jPlayer({ ready: function() { $(this).jPlayer("setMedia", { mp3: media } ).jPlayer("play") }, ended: function(){ console.log(window.callback); if (typeof callback != undefined && typeof callback != "undefined") { callback() } if (typeof window.callback != undefined && typeof window.callback != "undefined") { window.callback() } }, error: function(event) { //console.debug("ERROR: "+event.jPlayer.error.message) $.playMedia.options.error(event) }, swfPath: "/static/maxphonics/js/", supplied: "mp3", solution:"html" }) } $.playMedia = { 'options': { delay_per_media:0, delay:0 } } function playMedia(media, options){ var defaultValues = { delay_per_media: 0, delay:0, beforePlay: function(){}, ended: function(){}, error: function(event){ $window.console(event) } } $.playMedia.options = $.extend({}, defaultValues, options); var play_list = [] if (typeof media == "string") play_list.push(media) else play_list = media $jq_player = $("#jq-player") if($jq_player.length == 0) $jq_player = $("
").appendTo("body") $window.registerjPlayer($jq_player) _playAllMedia(play_list, 0) } function _playAllMedia(playList, index){ var media; if(index < playList.length){ media = playList[index] $.playMedia.options.beforePlay(index) if (!inititalized){ inititalized = true; _initialPlay(media, function(){ //console.debug("ended playmedia function('"+media+"') with delay: "+ $.playMedia.options.delay_per_media) window.clearInterval(intv) intv = window.setTimeout(function(){ _playAllMedia(playList, index+1) }, $.playMedia.options.delay_per_media) }) } else{ try { window.playStartAction(); } catch(err) { } $jq_player.jPlayer("setMedia", { // Set the media mp3: media }).jPlayer("play") .unbind($.jPlayer.event.ended) .bind($.jPlayer.event.ended, function(){ //console.debug("ended playmedia function('"+media+"') with delay: "+$.playMedia.options.delay_per_media) window.clearInterval(intv) intv = window.setTimeout(function(){ _playAllMedia(playList, index+1) }, $.playMedia.options.delay_per_media) }) .bind($.jPlayer.event.error, function(event) { //console.debug("ERROR: "+event.jPlayer.error.message) window.clearInterval(intv) $.playMedia.options.error(event) // intv = timeOutHandle = window.setTimeout(function(){ // _playAllMedia(playList, index+1) // }, $.playMedia.options.delay_per_media) }) } } else{ window.clearInterval(intv) intv = window.setTimeout($.playMedia.options.ended, $.playMedia.options.delay) } }