Saat ini kami sedang mengembangkan situs web yang memungkinkan pengguna untuk memutar tag audio sederhana yang terhubung ke audiocontext. Kami menyadari masalah teknis dengan iOS seperti pemutaran yang dimulai oleh gerakan pengguna. Semuanya berfungsi dengan baik hingga IOS12. Sekarang setelah IOS13 keluar, tidak ada yang berfungsi lagi.
Ini bekerja di semua desktop, android dan iOS hingga iOS13.
Adakah yang tahu apa yang sedang terjadi?
Tidak ada pesan kesalahan di konsol saat debugging dengan Safari di Desktop yang terhubung ke 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();
line harus mengurus itu, tapi saya pikir apa yang berikut harus dalam menyelesaikan janji, seperti ini:. AudioContext.resume () kemudian (function () {player.play () playbutton.innerHTML = "Jeda"; playStatus = 'isPlaying';}
src
statis dengan URL lengkap. Namun, itu hanya berfungsi jika Anda meninggalkan Safari dan kemudian membukanya lagi. Perilaku yang sangat aneh.