2017-02-09 45 views
1

Я пытаюсь воспроизвести звук при нажатии клавиш на клавиатуре. По какой-то причине я не могу воспроизвести один и тот же звук, пока аудиофайл не закончит игру.Мгновенное воспроизведение звука при нажатии клавиши()

Вот мой 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 это 4sec долго, я могу вбить "A" на клавиатуре столько раз, сколько я хотеть. Он не будет воспроизводиться снова до того, как эти 4 секунды пройдут.

Любые идеи?

ответ

0

Чтобы перезапустить аудиофайл, вам необходимо сначала его приостановить, затем установите его currentTime на 0, прежде чем снова заиграть. Попробуйте это:

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

Working Example

+0

Великий. Благодаря! Работает как шарм. – Pelikhan

 Смежные вопросы

  • Нет связанных вопросов^_^