Почему звук воспроизводится только после того как нажмешь ОК в алерте? Хочу чтобы звук воспроизводился одновременно с алертом

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} `);
    };
}

Больше о playing_event.

Кроме того, задумайтесь над предварительной (это чуть раньше, чем перед самым воспроизведением) загрузкой аудиофайла:

<audio src="YOUR/SOURCE.mp3" preload="auto"></audio>

или

audio.setAttribute("preload", "true");

Это поможет избежать задержек в воспроизведении, потому что сейчас после появления сообщения (alert) часть времени уходит на загрузку данных

→ Ссылка