在實現我的客服系統中,實時語音通話功能的時候,如果想自動播放音視頻流,在蘋果設備上遇到了問題。
蘋果瀏覽器(Safari)在默認情況下不允許聲音在背景裏自動播放。這是出於用戶體驗和隱私方面的考慮,避免在用戶沒有意識到的情況下自動播放聲音。
解決辦法是
iOS 11 及以上版本的 Safari 瀏覽器。當用戶已經有過至少一次交互以後,可以設置下面兩個屬性,muted
和 playsinline
屬性。然後動態js設置一下,就能自動播放聲音了
<audio id="myAudio" src="audio.mp3" muted playsinline></audio>
然後在js裏動態設置一下屬性
var myAudio = document.getElementById('myAudio'); myAudio.muted = false; // 將 muted 屬性設置爲 false myAudio.autoplay = true; // 將 autoplay 屬性設置爲 true myAudio.play(); // 播放音頻
這樣
在頁面至少有過交互以後,可以讓蘋果設備上自動播放聲音了