Estoy buscando reproducir automáticamente un audio en bucle sin que el navegador me bloquee.
Código:
<audio id="audio1" src="assest/sound/1.mp3" autoplay="" /> <script> a = document.getElementById('audio1'); a.onended = function(){setTimeout("a.play()", 1000)} </script>Mi código actual funciona en Firefox, pero está bloqueado de forma predeterminada, tengo que permitir la reproducción automática manualmente para que pueda reproducir el audio y, en el otro lado, en Chrome, el audio ni siquiera se reproduce.
Editado:
Código de marco flotante:
<iframe src="assest/sound/1.mp3" allow="autoplay" style="display:none" id="iframeAudio"> </iframe>Incluso probé el código de reproducción automática de iframe, pero aún no funciona con Chrome. El código iframe activa automáticamente la descarga automática del archivo de audio.
¿Alguna solución para esto?
CON HTML
<audio controls autoplay loop hidden> <source src="assest/sound/1.mp3" type="audio/mpeg"> </audio>Consulte este documento para saber cuál es el problema al que se enfrenta: https://developer.mozilla.org/en-US/docs/Web/Media/Autoplay_guide .
Como se describe en el documento:
Como regla general, puede asumir que los medios podrán reproducirse automáticamente solo si se cumple al menos uno de los siguientes:
- El audio está silenciado o su volumen está puesto a 0
- El usuario ha interactuado con el sitio (haciendo clic, tocando, presionando teclas, etc.)
- Si el sitio ha sido incluido en la lista de permitidos; esto puede suceder automáticamente si el navegador determina que el usuario interactúa con los medios con frecuencia, o manualmente a través de las preferencias u otras características de la interfaz de usuario.
- Si la política de función de reproducción automática se utiliza para otorgar compatibilidad con la reproducción automática a un documento y a su documento.
Creo que una forma razonable es dejar que los usuarios interactúen primero con su sitio. P.ej:
Después de que interactuaron con su sitio, puede ejecutar el script para reproducir el audio sin bloquear el navegador.