Estoy tratando de reproducir un archivo de audio desde mi archivo Javascript.
Tengo esta línea en mi archivo HTML dentro de la sección Cuerpo:
<audio id="play" src="https://freesound.org..."></audio>En mi archivo JS hago estas llamadas:
var audio = document.getElementById("play"); audio.play();Ahora, cuando ejecuto mi código a través del navegador, aparece este error:
Rechazo de promesa no manejado: NotAllowedError: el agente de usuario o la plataforma no permiten la solicitud en el contexto actual, posiblemente porque el usuario negó el permiso.
¿Qué significa esto? ¿Dónde puedo hacer referencia al audio al que el servidor web permite el acceso?
Desde https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play :
NotAllowedError DOMException Se proporciona si el agente de usuario (navegador) o el sistema operativo no permite la reproducción de medios en el contexto o situación actual. Esto puede suceder, por ejemplo, si el navegador requiere que el usuario inicie explícitamente la reproducción multimedia haciendo clic en el botón "reproducir".
Hoy en día, afortunadamente, ya no se permite que los sitios web comiencen a reproducir audio cuando los abre. El usuario primero necesita interactuar con la página de alguna manera. Si usa el mismo código en un controlador de clic de un botón, por ejemplo, debería funcionar.
Puede ser que el sitio web rechace su solicitud, pero hay otra forma de hacerlo. Puede colocar el archivo de música en la carpeta de su proyecto y luego escribir la ruta de la carpeta en la que se encuentra el archivo de música en la ruta src en la etiqueta de audio.