Почему звук воспроизводится только после того как нажмешь ОК в алерте? Хочу чтобы звук воспроизводился одновременно с алертом
function gameOver() {
soundScream();
alert(`GAME OVER! Your score: ${score} `);
}
function soundScream() {
let audio = new Audio(); //
audio.src = 'sounds/Gameover.mp3';
audio.autoplay = true;
}
Ответы (1 шт):
Автор решения: Вася Воронцов
→ Ссылка
Попробуйте вызвать alert() явно после начала воспроизведения звука:
function gameOver() {
let audio = new Audio();
audio.src = 'sounds/Gameover.mp3';
audio.autoplay = true;
audio.onplaying = function() {
alert(`GAME OVER! Your score: ${score} `);
};
}
Кроме того, задумайтесь над предварительной (это чуть раньше, чем перед самым воспроизведением) загрузкой аудиофайла:
<audio src="YOUR/SOURCE.mp3" preload="auto"></audio>
или
audio.setAttribute("preload", "true");
Это поможет избежать задержек в воспроизведении, потому что сейчас после появления сообщения (alert) часть времени уходит на загрузку данных