var audioPlaying = false;
if (!audioPlaying) {
// get a random audio element that has the class .sound
audio = $('.s' + (Math.round(Math.random() * $('.sounds').size())));
audio.get(0).play();
audioPlaying = true;
setTimeout(function(audioPlaying) {
audioPlaying = false;
}, 1000);
}
Я работаю над JavaScript, который воспроизводит звук на событии.Мне не нужно проигрывать более одного звука каждую секунду.У меня есть функция проверяет, воспроизводится ли звук (через переменную true / false), а затем, если это так, выбирает случайный элемент аудио и воспроизводит его.Затем переменная устанавливает, что звук воспроизводится (true), а затем устанавливает тайм-аут, чтобы переключить переменную обратно в false через 1 секунду.
Это должно сделать так, чтобы звук воспроизводился после как минимум 1второй.Тем не менее, похоже, что переменная audioPlaying никогда не устанавливает значение false.Воспроизводится один из звуков, и ни один после этого.Если я удаляю код, который изменяет audioPlaying на true, звуки воспроизводятся без промежутков между ними.
Кто-нибудь знает, что не так?