无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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ó)家法律
清苑县| 信阳市| 绥阳县| 海丰县| 金川县| 丰顺县| 安阳县| 呼和浩特市| 怀柔区| 柞水县| 河东区| 涿州市| 枣庄市| 罗定市| 宁城县| 海宁市| 乌鲁木齐县| 晋江市| 特克斯县| 垦利县| 田林县| 贡嘎县| 铅山县| 读书| 蒙阴县| 苍梧县| 读书| 长汀县| 桐城市| 铜梁县| 木里| 嘉善县| 乐亭县| 昆明市| 西平县| 长泰县| 肇庆市| 台东县| 西和县| 喀喇| 潮州市|