2017-02-09 10 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

関連する問題