Зараз ми розробляємо веб-сайт, який дозволяє користувачам відтворювати прості звукові теги, підключені до аудіоконтексту. Нам відомі технічні проблеми з IOS, такі як відтворення, ініційоване жестами користувача. Все працює добре до IOS12. Тепер, коли IOS13 не працює, більше нічого не працює.
Він працює на всіх настільних комп'ютерах, Android та IOS аж до IOS13.
Будь-яка ідея про те, що відбувається?
Немає повідомлень про помилки в консолі під час налагодження програми Safari на Desktop, підключеної до 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();
рядку слід потурбуватися про це, але я думаю, що наступне має бути у вирішенні обіцянки, як це: audioContext.resume (). Тоді (функція () {player.play () playbutton.innerHTML = "Пауза"; playStatus = 'isPlaying';}
src
статику з повною URL-адресою. Однак він працює лише в тому випадку, якщо ви залишите Safari і знову відкриєте його. Дуже дивна поведінка.