Haga que el sonido forme parte de una primera acción clara
Un juego que da por hecho que el sonido ya empezó puede mostrar un icono de sonido silenciado y seguir sin emitir audio. Los navegadores suelen restringir el audio iniciado por scripts hasta que el usuario realiza una acción, y una solicitud de reproducción multimedia puede rechazarse o resolverse con demora. Diseña la primera interacción para registrar la preferencia de audio del jugador y actualiza la interfaz según el resultado real de la reproducción. Así el comportamiento es más predecible y no se sorprende a nadie con un sonido inesperado.
Ofrece un botón visible para iniciar el juego o controlar el sonido. En respuesta a esa acción, inicia o reanuda el contexto de audio y muestra de inmediato el estado elegido, gestionando cualquier rechazo de la promesa de reproducción. Si el sonido es opcional, permite continuar el juego en silencio y ofrece un control explícito para activarlo más tarde.
Mantenga alineados los comentarios y el estado del audio
No equipare una llamada exitosa a play() con una salida audible instantánea. La promesa puede cumplirse de forma asincrónica y un navegador puede solicitar permiso. Gestione el rechazo, exponga una acción de reintento cuando sea útil y no informe un error que implique que todo el juego ha fallado cuando solo el sonido no está disponible.
Separe la preferencia del usuario del permiso de tiempo de ejecución: una opción de silencio guardada es la intención del reproductor, mientras que si la reproducción está permitida actualmente es una condición del navegador. Pruebe silenciar, reactivar, pausar, reanudar y transiciones de escena de forma independiente para que los efectos no se reinicien accidentalmente a todo volumen después de un cambio de estado.
Preguntas sobre inicio de audio del juego de navegador
¿Puedo reproducir automáticamente la música del juego al cargar la página?
No des por hecho que funcionará. Las reglas de reproducción automática pueden bloquear los medios con sonido y el audio de Web Audio iniciado sin una interacción del usuario. Ofrece una acción deliberada y gestiona los fallos de reproducción.
¿Qué debería mostrar el botón de sonido si la reproducción está bloqueada?
Muestre un estado honesto, como sonido apagado o una acción para habilitar el sonido, según el resultado que observó. MDN recomienda responder a la promesa play() en lugar de asumir que la reproducción comenzó.
Más información
¿Has visto algo desactualizado? Notificar una corrección