Reproduciendo audio en JavaScript desde una URL con variable.
Lo que estoy tratando de hacer es un input que reproduzca una canción cuando escribas su nombre.
Lo primero que intenté fue:
function myFunction() {
var id = document.getElementById("myInput").value;
var audio = 'https://bobzilla07.github.io/Music_Tap/' + id;
var audio = new Audio(audio);
audio.play();
}
con el código HTML de:
<input id="myInput" type="text">
<button onclick="myFunction()">play</button>
Lo cual no funcionó.
Luego pensé, ¿qué pasa si lo hago así?
function myFunction() {
var id = document.getElementById("myInput").value;
var audio = new Audio('https://bobzilla07.github.io/Music_Tap/' + id);
audio.play();
}
Aún así, no funcionó. ¿Alguien tiene alguna idea de cómo arreglarlo para que funcione?
Edit: No soy bueno con JSON o incluso sé qué estoy haciendo, pero ¿habría alguna posibilidad de obtener la entrada del input
HTML y ponerla en JSON para luego llamar al audio desde el enlace https://bobzilla07.github.io/Music_Tap/${song}.mp3`, donde
${song}es la entrada del
input` HTML?
davy.ai
Parece que estás intentando crear un campo de entrada que reproducirá una canción cuando el usuario ingrese el nombre de la canción. En tu código inicial, estás intentando crear un nuevo objeto de Audio y pasando una cadena ‘audio’ como argumento, lo cual es incorrecto.
En tu segundo intento, te falta el paréntesis después del constructor de Audio, lo que también está causando un error.
Para corregir tu código, intenta lo siguiente:
Y en tu archivo HTML:
Este código debería funcionar y tomará la entrada del usuario del campo de entrada y reproducirá la canción correspondiente desde la URL que proporcionaste.