2013-06-05 70 views
-2

我正在寫一個小程序,在後臺循環播放,並在滿足特定條件時播放mp3播放器(通過php腳本檢查)。jQuery得到後播放mp3

這裏的的script.js:

$(document).ready(function(){ 

    setInterval(function(){ 
     $.get("airhorn.php", function(data) { 
     if(data == 1){ 
      //play sound 
     } 
     }); 
    },5000); //5 seconds 

}); 

現在airhorn.php總是返回1

如何設置它使瀏覽器播放MP3(如「airhorn.mp3」)在哪裏說「播放聲音」?

我一直試圖讓jPlayer工作,但我很掙扎。

例如,我想:

$(document).ready(function(){ 
     $("#jquery_jplayer_1").jPlayer("setMedia", mp3: "http://www.site.com/airhorn.mpp3"); 

    setInterval(function(){ 
     $.get("airhorn.php", function(data) { 
     if(data == 1){ 
      $("#jquery_jplayer_1").jPlayer("play");//play sound 
     } 
     }); 
    },5000); //5 seconds 

}); 

編輯:

的解決辦法是把循環的jplayer準備事件中:

$(document).ready(function(){ 
    $("#jquery_jplayer_1").jPlayer({ 
     ready: function() { 
      $(this).jPlayer("setMedia", { 
       mp3: "http://www.jplayer.org/audio/mp3/Miaow-snip-Stirring-of-a-fool.mp3" // Defines the mp3 url 
      }) 
      setInterval(function(){ 
     $.get("airhorn.php", function(data) { 
      if(data == 1){ 
       alert("should play") 
       $("#jquery_jplayer_1").jPlayer("play"); //play sound 
      } 
     }); 
    },5000); //5 seconds 
     }, 
     supplied: "mp3", 
     swfPath: "jPlayer/js" 
    }); 



    }); 
+0

是關於jPlayer的具體問題嗎?檢查http://www.jplayer.org/latest/developer-guide/ – JNF

+0

不一定。我一直在瀏覽開發者指南,並嘗試了幾件事情來使其工作,但沒有取得成功。 – Apoth

+0

無論如何,你的代碼似乎沒問題,問題在於你沒有包含的部分......不容易回答這個問題。嘗試告訴我們你的嘗試。 – JNF

回答

0

正確的答案這個時候。 jPlayer需要在準備就緒後進行配置。它在其ready配置屬性中使用回調。這是你如何設置它...

$(document).ready(function() { 
    $("#jquery_jplayer_1").jPlayer({ 
     ready: function(event) { 
      $(this).jPlayer("setMedia", { 
       mp3: "http://jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3", 
       oga: "http://jplayer.org/audio/ogg/TSP-01-Cro_magnon_man.ogg" 
      }); 
     }, 
     swfPath: "http://jplayer.org/latest/js", 
     supplied: "mp3, oga" 
    }); 
}); 

下面是官方工作示例: http://jsfiddle.net/jPlayer/XLNCY/

原因循環的作品,是因爲它不斷地嘗試,最終也已準備就緒。不斷重試的問題是你永遠不會停止嘗試擊中你的服務器。這就像一個自我造成的DOS攻擊。

希望這可以清理它。乾杯!

0
$(document).ready(function() { 
    $("#jquery_jplayer_1").jPlayer({ 
     ready: function(event) { 
      $(this).jPlayer("setMedia", { 
       mp3: "http://jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3", 
       oga: "http://jplayer.org/audio/ogg/TSP-01-Cro_magnon_man.ogg" 
      }); 
     }, 
     swfPath: "http://jplayer.org/latest/js", 
     supplied: "mp3, oga" 
    }); 
});