#javascript #audio
#javascript #Аудио
Вопрос:
Я хотел бы, чтобы звук воспроизводился, когда вы удерживаете клавишу со стрелкой button up, она зацикливает мой аудиоклип, который длится около 10 секунд, но останавливается, когда клавиша со стрелкой не нажата…. Вот мой код сейчас
var clickSound = new Audio("img/hartslag.mp3");
document.body.onkeyup = function (e){
if(e.keyCode == 38){
clickSound.play();
}
}
Ответ №1:
Вы должны использовать два прослушивателя событий, а именно onkeydown
и onkeyup
для определения, когда нажата клавиша, и когда она отпущена для воспроизведения и приостановки / остановки звука соответственно.
Код
var clickSound = new Audio("http://dl.dropbox.com/u/1538714/article_resources/song.ogg");
function playAudioOnKeyDown(e) {
if (e.keyCode == 38) {
clickSound.play();
}
}
document.onkeydown = playAudioOnKeyDown;
function pauseAudioOnKeyUp(e) {
if (e.keyCode == 38) {
clickSound.pause();
}
}
document.onkeyup = pauseAudioOnKeyUp;
JSFiddle
Комментарии:
1. разве невозможно воспроизвести звук, пока вы удерживаете клавишу со стрелкой вверх и делаете паузу, когда отпускаете клавишу со стрелкой вверх. В случае приостановки при нажатии клавиши со стрелкой вниз?
2. @user3771096: вы смотрели на предоставленную мной ссылку jsfiddle? , скрипт выполняет именно то, что вы просите, т.Е. Он будет воспроизводить звук, пока вы не нажмете клавишу UP, и приостановит его, когда вы его отпустите.
3. @user3771096: добро пожаловать :), мы должны использовать этот трюк, потому что, к сожалению, такого события нет
onLongPress
илиonHold
в JavaScript: D .