Tengo una configuración de audio como esta.
<html> <head></head> <body> <script> var audio1 = new Audio("music1.mp3"); document.addEventListener('keydown', function(evt) { console.log('hm'); audio1.play(); }); audio1.addEventListener("ended", function() { console.log('end'); audio1.currentTime = 0; }) </script> </body> </html>Hago clic en una tecla para iniciar el audio y console.log('hm'); para asegurarme de que comenzó, pero cada vez que finaliza el audio, no se llama al segundo eventListener y no recibo el mensaje de "finalización" ni un reinicio. Prefiero mantener el audio en javascript y no en una etiqueta porque ya creé el juego y cambiar las formas de audio cambia alrededor del 45% del juego.
¿Estoy haciendo las cosas mal? Si es así, ¡dígame la forma correcta de hacerlo!