Hice un sitio web sobre neocities que reproduce un archivo de audio cada vez que presionas el botón GENERAR AUDIO
Lo curioso es que reproduce el mismo audio cada vez que lo presiono nuevamente. La única forma de obtener un nuevo audio es recargando la página. ¿Hay alguna manera de hacer que el archivo de audio cambie sin tener que volver a cargar la página?
aquí está mi botón:
<a href="#" onclick="test.play()"> GENERATE MUSIC </a>y así es como logro que reproduzca audios aleatorios de una matriz:
const audioList = [ "audio1.mp3", "audio2.mp3", "audio3.mp3", "audio4.mp3"]; var test = new Audio(); var audioNum = Math.floor(Math.random() * audioList.length); test.src = audioList[audioNum];Prueba esto:
const audioList = [ "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3", "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-2.mp3", "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-3.mp3", "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-4.mp3" ]; const audio = new Audio() function generateMusic() { const audioNum = Math.floor(Math.random() * audioList.length); audio.src = audioList[audioNum]; audio.load() audio.play() } <a href="#" onclick="generateMusic()"> GENERATE MUSIC </a>Lo que cambié en tu código:
.src y .play() .