Şu anda kullanıcıların ses içeriğine bağlı basit ses etiketlerini oynatmasına izin veren bir web sitesi geliştiriyoruz. Kullanıcı hareketleriyle başlatılan oynatma gibi IOS ile ilgili teknik sorunların farkındayız. Her şey IOS12'ye kadar iyi çalışıyor. Artık IOS13 çıktı, artık hiçbir şey çalışmıyor.
IOS13'e kadar tüm masaüstü, android ve IOS üzerinde çalışır.
Neler olduğu hakkında bir fikrin var mı?
İphone'a bağlı Masaüstünde Safari ile hata ayıklama sırasında konsolda hata mesajı yok.
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();
Çizgi olduğunu dikkat etmelisiniz, ama böyle, söz gidermek olmalıdır izler ne düşünüyorsunuz. AudioContext.resume () daha sonra (function () {player.play () playbutton.innerHTML = "Pause"; playStatus = 'isPlaying';}
src
statik bir tam URL ile çalışarak aldım . Ancak, yalnızca Safari'den ayrılıp tekrar açarsanız çalışır. Çok garip davranışlar.