Actualmente estamos desarrollando un sitio web que permite a los usuarios reproducir etiquetas de audio simples conectadas al audiocontexto. Somos conscientes de problemas técnicos con IOS, como la reproducción iniciada por gestos del usuario. Todo funciona bien hasta IOS12. Ahora que IOS13 está fuera, ya nada funciona.
Funciona en todos los escritorios, Android e IOS hasta IOS13.
¿Alguna idea de lo que está pasando?
No hay mensajes de error en la consola al depurar con Safari en el escritorio conectado al iPhone.
https://codepen.io/gchad/pen/WNNvzzd
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<body>
<div>
<h1>Play Audio Tag connected to audio context</h1>
<div id="playbutton" style="width:100px; height:100px; background:blue; color:white; margin:auto; text-align: center; font-size: 30px; cursor: pointer;">
Play
</div>
<audio id="myPlayer" crossorigin="anonymous" >
<source src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/858/outfoxing.mp3"/>
<!--http://commondatastorage.googleapis.com/codeskulptor-assets/week7-brrring.m4a-->
</audio>
</div>
<script>
var player = document.getElementById('myPlayer'),
playbutton = document.getElementById('playbutton'),
playStatus = 'paused';
var audioContext = new(window.AudioContext || window.webkitAudioContext)();
var audioSource = audioContext.createMediaElementSource(player);
audioSource.connect(audioContext.destination);
playbutton.addEventListener('click',function(ev){
if( playStatus == 'paused'){
audioContext.resume();
player.play();
playbutton.innerHTML = "Pause";
playStatus = 'isPlaying';
} else {
player.pause();
playbutton.innerHTML = "Play";
playStatus = 'paused';
}
});
</script>
</body>
audioContext.resume();
línea debería ocuparse de eso, pero creo que lo que sigue debe estar en la resolución de la promesa, así: audioContext.resume (). Luego (function () {player.play () playbutton.innerHTML = "Pause"; playStatus = 'isPlaying';}
src
estática con una URL completa. Sin embargo, solo funciona si abandonas Safari y luego lo vuelves a abrir. Comportamiento muy extraño.