Coloquei um callback no evento onended para exibir o alerta depois de tocar o som e utilizei a mesma constante de áudio, alterando o arquivo em tempo de execução com src.
const somDeAlerta = new Audio();
function tocaSomPausa()
{
somDeAlerta.src = './sons/beep.mp3';
somDeAlerta.loop = false;
somDeAlerta.play();
somDeAlerta.onended = () => alert('Tempo finalizado!');
}
function contagemRegressiva() {
if (tempoDecorridoEmSegundos <= 0) {
zerar();
tocaSomPausa(()=>exibeAlerta);
}
tempoDecorridoEmSegundos -= 1
console.log('Temporizador: ' + tempoDecorridoEmSegundos)
}
startPauseBt.addEventListener('click', iniciarPausar);
function iniciarPausar() {
if (intervaloId) {
somDeAlerta.src = './sons/pause.mp3';
somDeAlerta.loop = false;
somDeAlerta.play();
zerar();
return;
}
somDeAlerta.src = './sons/play.wav';
somDeAlerta.loop = false;
somDeAlerta.play();
intervaloId = setInterval(contagemRegressiva, 1000); // Executa a função contagemRegressiva a cada 1 segundo
}
function zerar() {
clearInterval(intervaloId);
intervaloId = null;
}