0

我对 jQuery 和 HTML 还很陌生,我正在尝试编写在按下某些键时会播放一些不同声音的代码。我已经想出了如何播放声音,但是我需要在释放键时停止循环并重置(即,这样可以快速连续多次按下一个键并且声音开始、停止和重新启动)每次按键)。我想我可能需要为它编写一个函数或插​​件,但不知道如何去做。这是我的代码:

HTML:

<audio id="sound">
  <source src="sound.mp3" type="sound/mpeg">
  <source src="sound.ogg" type="sound/ogg">
  <embed src="sound.mp3">
</audio>

并且,jQuery:

$(function() {
    $(document).on("keydown", function(key) {
        switch(parseInt(key.which, 10)) {
            case 65:
                $("#sound").get(0).play();
                break;
        }
    });
});

我发现很多使用 .setInterval 和 .currentTime 之类的信息来设置循环计时器,但似乎无法让它适合我的情况。

任何帮助表示赞赏。谢谢!

保罗

4

1 回答 1

0

尝试一个 keyup 处理程序

$(function() {
    var sound = $("#sound").get(0);
    $(document).on("keydown", function(key) {
        switch(parseInt(key.which, 10)) {
            case 65:
                sound.play();
                break;
        }
    }).on('keyup', function(){
        sound.stop();
    });
});
于 2013-10-17T03:23:14.713 回答