2017-02-09 39 views
1

我試圖在鍵盤上按鍵時播放音頻。出於某種原因,我無法播放同一個聲音,直到音頻文件播放完畢。在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秒長,我可以錘 「A」 在鍵盤上多次,我想要。在這4秒之後,它不會再打。

任何想法?

回答

0

要重新啓動音頻文件,您需要先暫停,然後將其設置爲currentTime0,然後再次播放。試試這個:

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

Working Example

+0

大。謝謝!奇蹟般有效。 – Pelikhan