国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

解決蘋果瀏覽器ios音頻播放audio.play()失敗

2023-04-12 10:55 作者:雨中豆芽  | 我要投稿

其實(shí)不止是蘋果手機(jī)safari瀏覽器會(huì)播放失敗,谷歌,QQ等也會(huì),但夸克好像不存在這個(gè)問題,這是瀏覽器出于對(duì)用戶的一種保護(hù),禁止一進(jìn)入頁面就播放聲音,必須用戶先與頁面交互,才能播放。如果JS有用戶未交互直接播放音樂的行為,那么后面即使用戶有了交互行為,play()方法好像也都會(huì)失效,解決辦法就是讓用戶自己去觸發(fā)。我做了兩種場(chǎng)景的音頻播放。

1,一進(jìn)入頁面,直接播放音樂,沒有音頻控制條,相當(dāng)于背景音樂。

2,對(duì)話聊天,來消息時(shí)的提示音。

第一種場(chǎng)景解決辦法,添加touchstart事件,用戶一觸發(fā)事件就使用play()播放,

? document.addEventListener('touchstart',()=>{

? ? ? ? document.getElementById('music').play()

? ? })

對(duì)于動(dòng)態(tài)添加音樂標(biāo)簽的,應(yīng)該也適用。

第二種場(chǎng)景解決辦法,同樣添加touchstart事件,用戶一觸發(fā)事件就使用play()播放,但是是消息提示音,所以不能一進(jìn)來就放出聲音,要及時(shí)暫停。

?document.addEventListener('touchstart',()=>{

? ? ? ? document.getElementById('noticeMusic').play()

? ? ? ? ? ? let timer = setTimeout(()=>{

? ? ? ? ? ? ? ? document.getElementById('noticeMusic').pause()

? ? ? ? ? ? ? ? clearTimeout(timer)

? ? ? ? ? ? },1)

??})

后續(xù)繼續(xù)使用play()就能播放成功了。

對(duì)于PC端瀏覽器,一般自動(dòng)播放沒問題,即使用戶沒有交互,不一般的情況就是瀏覽器對(duì)該網(wǎng)頁的聲音播放做了限制,對(duì)于谷歌瀏覽器,目前就是三個(gè)選項(xiàng),自動(dòng),允許,靜音,這是用戶可以自己設(shè)置的。自動(dòng),就是用戶有了交互行為,才可以播放音頻。允許,就是一般情況。靜音,放了,但沒完全放,沒聲。手機(jī)端瀏覽器沒得設(shè)置聲音這些玩意兒,都是默認(rèn)值,所以不能自動(dòng)播放。

解決蘋果瀏覽器ios音頻播放audio.play()失敗的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
池州市| 聂荣县| 天祝| 上犹县| 海兴县| 莱西市| 上饶市| 凤山市| 尤溪县| 海丰县| 高密市| 马山县| 霍林郭勒市| 岢岚县| 仪陇县| 上犹县| 泸州市| 清河县| 荥阳市| 贵南县| 聂拉木县| 平邑县| 六盘水市| 宁武县| 穆棱市| 汶川县| 泰兴市| 鲁山县| 双桥区| 天等县| 石泉县| 明水县| 静宁县| 怀柔区| 抚顺市| 松溪县| 右玉县| 镇巴县| 甘孜县| 二手房| 大足县|