【问题标题】:Play an mp3 after jQuery getjQuery get 后播放 mp3
【发布时间】:2013-06-05 05:33:13
【问题描述】:

我正在编写一个小程序,它在后台循环并在满足特定条件时播放 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"
    });



    });

【问题讨论】:

标签: jquery ajax mp3


【解决方案1】:

这次的正确答案... 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 攻击。

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

【讨论】:

    【解决方案2】:
    $(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"
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 1970-01-01
      • 2023-04-11
      • 2016-08-12
      • 1970-01-01
      相关资源
      最近更新 更多