如何在Jquery循环(节拍器)中播放声音?

时间:2012-01-13 12:48:15

标签: jquery audio

我想使用jquery制作节拍器,使用点击声音和颜色来显示速度。那时,视觉部分工作正常,但我的声音有问题。

无法使其正常工作,应该按照所选速度每分钟发出多次哔声。

以下是代码:

$(function(){
var intervalReference = 0;

var metronomeTick = function() {
    $("#metronome").stop();
    $("#metronome").animate({opacity: 1},
        30,                            
        function() { $(this).animate({opacity:0});
        $("#beep").append('autostart', 'true');
    }
    );
};

$(function() {
    var slider = $("#bpm").slider({
        min: 40,
        max: 240,
        value: 120,
        slide: function( event, ui ) {
            clearInterval(intervalReference);
            intervalReference = setInterval(metronomeTick, 1000*60/ui.value);
            $("#bpmshow").text("bpm: " + ui.value);
        }
    });
});
});

HTML:

<div id="bpm"></div>
<span id="bpmshow"></span>
<div id="metronome"></div>
<embed id="beep" src="timer.wav" hidden="true" loop="true" autostart="false">

非常感谢任何帮助,非常感谢!

2 个答案:

答案 0 :(得分:0)

$("#beep").append('autostart', 'true');将文字附加到元素。您可能想要自己设置autostart属性:

$("#beep").attr('autostart', 'true');

答案 1 :(得分:0)

好吧,好吧,我走错了路。

我想在每次显示 visual div时听到声音。问题是我使用animate()函数来执行此操作,但它无法触发play()事件。

由于HTML5 window.setTimeout()标记,我使用play()重写了代码以控制时间,并<audio>加载并播放 beep

抱歉无法解释更多,脚本还没有完成。