Quiero usar el método HTMLMediaElement.play() para reproducir un sonido cuando se hace clic en un botón. Todo funciona bien en Chrome y Firefox, pero Safari 15... Cada vez que hago clic en el botón hay algún tipo de retraso o ni siquiera se reproduce. Usé el código como se describe a continuación:
const mainButton = document.getElementById('main-button'); const buttonSound = new Audio (button-sound.mp3); mainButton.addEventListener('click', e => { buttonSound.play(); });¡Sería genial si alguien pudiera ayudar!
Todavía no lo he probado, pero parece una solución viable: https://browserhow.com/how-to-allow-or-block-auto-play-sound-access-in-safari-mac/ suena como está deshabilitado de forma predeterminada en el navegador, por lo que si lo habilita, debería reproducirse. Si se retrasa, ¿el archivo de sonido comienza desde 0 segundos? Sé que suena obvio, pero esa podría ser la razón de la demora.
Creo que esto se puede cambiar yendo a la configuración de safari específicamente, el artículo indica que se debe hacer de la siguiente manera: