在 jquery 中使用 .keyup() 重置 HTML <audio> 循环

Resetting HTML <audio> loop with .keyup() in jquery

本文关键字:HTML audio 循环 重置 jquery keyup      更新时间:2023-09-26

我对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 之类的信息来设置循环计时器,但似乎无法让它适应我的情况。

任何帮助,不胜感激。谢谢!

保罗

尝试使用键控处理程序

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