Hola rubgonmar
bienvenido. Como dices, apple deshabilitó el autoplay de audio y video (una suerte). Después de mucho buscar en google, y de pensar mucho, obtuve una solución.
Supongo que cuando entras a tu web, realizas un
para reproducir el audio, pero eso no es suficiente en safari. Por eso, lo que hice fue añadir un escuchador:
Código Javascript
:
Ver originalaudio.addEventListener('canplay', connectAudioContext);
Lo que hace el escuchador anterior, es esperar a que el audio pueda reproducirse, y cuando es así, ejecuta la función connectAudioContext personalizada. Esta función establece una variable inicializada a true, a false
Código Javascript
:
Ver originalvar audioContextNeeded = true;
function connectAudioContext(){
audioContextNeeded = false;
}
Por último, sustituye tu audio.play() que utilizas para entrar a la web, y en su lugar llama a una función personalizada, por ejemplo llamada audioPlay:
Código Javascript
:
Ver originalfunction audioPlay = function ()
{
audio.play();
//se repite el play hasta que contexto preparado
if (audioContextNeeded) {
setTimeout(audioPlay (),1000);
}
};
La función anterior se ejecuta a sí misma hasta que el audio se reproduzca.
Pruébalo, espero que funcione
Saludos,