使用谷歌瀏覽器的語音播報功能時發(fā)現(xiàn)不能播放
<script>
if(!('speechSynthesis' in window)) {
throw alert("對不起木蹬,您的瀏覽器不支持")
}
setTimeout(()=> {
play()
},2000)
function play(){
var mess = '搜狗[1] 是搜狐公司的旗下子公司擎浴,于2004年8月3日推出丐膝,目的是增強搜狐網(wǎng)的搜索技能捞魁,主要經(jīng)營搜狐公司的搜索業(yè)務(wù)澎怒。在搜索業(yè)務(wù)的同時现诀,也推出搜狗輸入法、搜狗高速瀏覽器鞍时。'
var msg = new SpeechSynthesisUtterance(mess)
msg.volume = 100 // 聲音的音量
msg.rate = 1 // 語速亏拉,數(shù)值,默認值是1逆巍,范圍是0.1到10
msg.pitch = 1.5 // 表示說話的音高及塘,數(shù)值,范圍從0(最腥窦)到2(最大)笙僚。默認值為1
speechSynthesis.speak(msg)
}
</script>
打開控制臺發(fā)現(xiàn)
audio.html:43 [Deprecation] speechSynthesis.speak() without user activation is no longer allowed since M71, around December 2018. See https://www.chromestatus.com/feature/5687444770914304 for more details
這是由于谷歌瀏覽器針對垃圾廣告和詐騙網(wǎng)頁的濫用谷歌瀏覽器開發(fā)團隊已經(jīng)決定自下個版本開始限制語音合成接口的自動播放。自新版本開始用戶必須手動點擊播放按鈕才能播放語音合成內(nèi)容灵再,用戶不主動操作那么直接禁止音頻的播放肋层。
解決辦法在鼠標右擊Chrome快捷圖標=>屬性=>快捷方式=>目標加入--autoplay-policy=no-user-gesture-required即可,如下圖所示:
mac打開終端,輸入
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --autoplay-policy=no-user-gesture-required
感謝評論區(qū)那位大佬翎迁。