jQuery get后播放mp3

时间:2013-06-05 05:33:14

标签: jquery ajax mp3

我正在编写一个在后台循环的小程序,并在满足某个条件时播放mp3播放器(通过php脚本检查)。

这是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 ready事件中:

$(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"
    });



    });

2 个答案:

答案 0 :(得分: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攻击。

希望这可以清理它。干杯!

答案 1 :(得分: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"
    });
});