0 votos

El archivo de sonido no se reproduce usando JavaScript y HTMLAudioElement

Estoy intentando reproducir un sonido de 5 segundos de duración en JavaScript utilizando HTMLAudioElement, una subclase de audio de HTMLMediaElement que debería ser sencillo:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>
    <script>
    var a = new Audio("sound.mp3");
    a.load();
    a.autoplay = true;
    a.loops = false;
    a.muted = false;
    a.volume = 1.0;
    a.pause = false;
    a.controls = true;
    a.onended = function(){ window.console.log("Ended play"); };
    window.console.log("Will play; error = " + a.error + "; ended = " + a.ended);
    a.play();
    window.console.log("Did play;  error = " + a.error + "; ended = " + a.ended);

    function timed_out() {
        window.console.log("Timed out; error = " + a.error + "; ended = " + a.ended);
    };
    setTimeout(timed_out, 10000);
    </script>
</body>
</html>

Aunque la consola de JavaScript muestra "Will play; error = null; ended = false", "Did play; error = null; ended = false", no se oye ningún sonido, no aparece el mensaje "Ended play", y después de diez segundos muestra "After ten seconds: error = null; ended = false". El único otro mensaje de la consola dice que no se encontró favicon.ico, lo que tiene sentido porque no hay ninguno.

Estoy usando Safari 15.5 en un MacBook Pro de silicona de Apple con MacOS 12.4.

Lo he hecho:

  • Lo he probado con y sin cada uno de los ajustes que deberían ser por defecto: a.load(); a.autoplay = true; a.loops = false; a.muted = false; a.volume = 1.0; a.pause = false; a.controls = true;
  • He intentado alojar esto en un sitio web público que controlo y en un servidor web en la LAN local.
  • Configure Safari >> Ajustes para [dominio o dirección IP del servidor web] >> Permitir todas las reproducciones automáticas. (Si no se configura, se produce un error sobre la interacción del usuario que se muestra en la consola de Javascript).
  • He vaciado la caché y he vuelto a cargar la página.
  • Se ha comprobado que el archivo sound.mp3 está disponible (se registra un mensaje de error si falta).
  • He comprobado que el archivo sound.mp3 se reproduce correctamente al hacer doble clic (es decir, se reproduce en la aplicación Música de Apple).

Gracias de antemano por cualquier sugerencia.

0voto

Dustin Campbell Puntos 6323

Hmmm. Esta mañana funciona. Ayer por la tarde, Safari se bloqueó, así que tal vez era sólo un problema temporal de Safari.

Siento haber molestado a todos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X