在keydown()上即时重播音频

时间:2017-02-09 10:50:27

标签: jquery audio playback keydown

我在键盘上按键时尝试播放音频。出于某种原因,在音频文件播放完毕之前,我无法重播同一个声音。

这是我的html设置:

<audio id="65" src="assets/sounds/tom.wav"></audio>
<audio id="83" src="assets/sounds/tink.wav"></audio>
<audio id="68" src="assets/sounds/kick.wav"></audio>
...

和jQuery

$(document).keydown(function(e) {
var code = e.which;
$("#"+code).get(0).play();
});

所以,如果tom.wav是4秒长,我可以锤击&#34; A&#34;键盘上的次数和我想要的次数一样多。在那4秒过去之前,它不会再玩了。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

要重新启动音频文件,您需要先将其暂停,然后将其设置为currentTime0,然后再重新播放。试试这个:

$(document).keydown(function(e) {
  var audio = $('#' + e.which)[0];
  audio.pause();
  audio.currentTime = 0;
  audio.play();
});