-2

我正在编写一个在后台循环并在满足特定条件时播放 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 就绪事件中:

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



    });
4

2 回答 2

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"
    });
});
于 2013-11-07T10:31:41.207 回答
0

这次的正确答案... jPlayer 准备好后需要配置。它在其就绪配置属性中使用回调。你是这样设置的...

$(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 攻击。

希望这能把它清理干净。干杯!

于 2013-06-06T15:05:34.007 回答