国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端實(shí)現(xiàn)頁(yè)面自動(dòng)播放音頻方法

這篇具有很好參考價(jià)值的文章主要介紹了前端實(shí)現(xiàn)頁(yè)面自動(dòng)播放音頻方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前提

需要頁(yè)面自動(dòng)播放一段報(bào)警聲音,將audio標(biāo)簽的autoplay屬性設(shè)置為true,發(fā)現(xiàn)自動(dòng)播放失敗,并出現(xiàn)如下報(bào)錯(cuò):

Uncaught (in promise) DOMException: play() failed because the user didn’t interact with the document first.

為什么要禁止自動(dòng)播放音頻與視頻

網(wǎng)頁(yè)加載完成后立即播放音頻(或帶有音頻軌道的視頻)可能會(huì)意外地打擾到用戶。盡管自動(dòng)播放媒體文件是一個(gè)很實(shí)用的功能,但是我們也應(yīng)該謹(jǐn)慎地使用它,保證只有在它被需要的時(shí)候才使用。為了讓用戶擁有控制權(quán),通常瀏覽器會(huì)提供各種方式禁用自動(dòng)播放音頻功能。在這篇文章中,我們將介紹各種媒體和?Web Audio APIs?的自動(dòng)播放功能,包括關(guān)于如何使用自動(dòng)播放功能、如何優(yōu)雅的處理阻止自動(dòng)播放功能的一些簡(jiǎn)短的介紹。

Autoplay 功能

? 據(jù)新政策,媒體內(nèi)容將在滿足以下至少一個(gè)的條件下自動(dòng)播放:

  • 音頻被靜音或其音量設(shè)置為 0
  • 用戶和網(wǎng)頁(yè)已有交互行為(包括點(diǎn)擊、觸摸、按下某個(gè)鍵等等)
  • 網(wǎng)站已被列入白名單;如果瀏覽器確定用戶經(jīng)常與媒體互動(dòng),這可能會(huì)自動(dòng)發(fā)生,也可能通過(guò)首選項(xiàng)或其他用戶界面功能手動(dòng)發(fā)生
  • 自動(dòng)播放策略應(yīng)用到<iframe>或者其文檔上

? 否則,播放可能會(huì)被阻止。導(dǎo)致播放被阻塞的確切情況以及將網(wǎng)站列入白名單的具體方法因?yàn)g覽器而異,但最好是遵循以上的原則。

? 詳情,請(qǐng)參閱?Google Chrome?和?WebKit?的自動(dòng)播放政策。

解決方案

? 考慮到音頻上可能還會(huì)有其他操作,選擇第二種方案。如何知道自動(dòng)播放失敗了呢?其實(shí)自動(dòng)播放失敗時(shí)不會(huì)觸發(fā)任何事件,也沒有拋出異?;蚧卣{(diào)。那么便不能依賴autoplay。而是使用play函數(shù)模擬自動(dòng)播放,play函數(shù)執(zhí)行時(shí)會(huì)返回一個(gè)promise,可以根據(jù)promise來(lái)判斷當(dāng)前的播放是成功了還是失敗了,并且在失敗后做出相應(yīng)的提示。

    // 頁(yè)面加載事件中執(zhí)行 this.playWarn()


    // 提示音彈窗,需要用戶手動(dòng)點(diǎn)一次才可以讓瀏覽器播放音頻
    applyPlayConfirm() {
      const audio = document.querySelector("audio");
      this.$confirm("請(qǐng)開啟本次報(bào)警聲音提醒", "提示", {
        type: "info",
        showClose: false,
        showCancelButton: false,
        closeOnPressEscape: false,
        closeOnClickModal: false,
        confirmButtonText: "確定",
        callback: () => {
          // 用戶點(diǎn)擊過(guò)后 即可播放
          audio.play();
        },
      });
    },

    // 申請(qǐng)播放音頻,只需用戶點(diǎn)擊頁(yè)面任意位置
    playWarn() {
      const audio = document.querySelector("audio");
      let startPlayPromise = audio.play();
      if (startPlayPromise !== undefined) {
        startPlayPromise
          .catch((error) => {
            if (error.name == "NotAllowedError") {
              this.applyPlayConfirm();
            } else {
              // Handle a load or playback error
            }
          })
          .then(() => {
            // Start whatever you need to do only after playback
          });
      }
    },

閱讀:

MEI 媒體參與度索引

在以chorme為內(nèi)核的瀏覽中,設(shè)置了MEI(Media Engagement Index)列表,該列表長(zhǎng)度為1000,用來(lái)來(lái)衡量用戶是否是該網(wǎng)站的“忠實(shí)用戶”。當(dāng)MEI排名足夠高時(shí),即可自動(dòng)播放。

MEI衡量個(gè)人在網(wǎng)站上消費(fèi)媒體的傾向。Chrome?當(dāng)前的做法是每個(gè)來(lái)源的訪問次數(shù)與重要媒體播放事件的比率

  • 媒體(音頻/視頻)的消耗必須大于7秒。
  • 音頻必須存在且不能靜音。
  • 帶有視頻的標(biāo)簽處于活動(dòng)狀態(tài)。(個(gè)人感覺是不能設(shè)置display: none, visibility: hidden等)
  • 視頻大小(以px為單位)必須大于200x140。

由此,Chrome計(jì)算出的媒體參與度得分在定期播放媒體的網(wǎng)站上足夠高時(shí),允許在桌面上自動(dòng)播放媒體播放。

可以在chrome://media-engagement 內(nèi)部頁(yè)面上找到用戶的MEI 。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-705458.html

到了這里,關(guān)于前端實(shí)現(xiàn)頁(yè)面自動(dòng)播放音頻方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 關(guān)于 video 視頻 autoplay 播放問題及解決方法

    ????????自動(dòng)播放機(jī)制其實(shí)就是會(huì)攔截自動(dòng)播放的視頻。 ????????chrome、safari、firefox、edge 瀏覽器在某版本后都限制了video自動(dòng)播放功能,原因?yàn)閮?nèi)部機(jī)制認(rèn)為此視頻為垃圾廣告,和IOS系統(tǒng)一樣,同時(shí)也是為客戶體驗(yàn)度考慮,因此會(huì)限制自動(dòng)播放功能。 視頻靜音模式允

    2024年02月04日
    瀏覽(15)
  • 瀏覽器網(wǎng)頁(yè)內(nèi)嵌Qt-C++音視頻播放器的實(shí)現(xiàn),支持軟硬解碼,支持音頻,支持錄像截圖,支持多路播放等,提供源碼工程下載

    瀏覽器網(wǎng)頁(yè)內(nèi)嵌Qt-C++音視頻播放器的實(shí)現(xiàn),支持軟硬解碼,支持音頻,支持錄像截圖,支持多路播放等,提供源碼工程下載

    ????在瀏覽器中實(shí)現(xiàn)播放RTSP實(shí)時(shí)視頻流,?體上有如下?個(gè)?案: ?案一:瀏覽器插件?案 ActiveX、NPAPI、PPAPI ????ActiveX插件適用于IE瀏覽器,NPAPI與PPAPI插件適用于谷歌瀏覽器,不過(guò)這些插件都已經(jīng)不被瀏覽器所支持。 ?案二:先轉(zhuǎn)碼再轉(zhuǎn)流?案 ?????作原理是架設(shè)一

    2024年01月17日
    瀏覽(100)
  • audio音頻不能自動(dòng)播放的解決方法

    由于瀏覽器限制的原因,不允許自動(dòng)播放audio音頻,嘗試網(wǎng)上的方法后也沒有進(jìn)展(如果有解決方法,歡迎評(píng)論~) 一、首先創(chuàng)建?audio?標(biāo)簽 二、因?yàn)樵陧?yè)面刷新后需要先執(zhí)行動(dòng)畫,動(dòng)畫完成后才去播放音樂,所以在執(zhí)行?mounted?函數(shù)時(shí),先加載音樂源 三、在動(dòng)畫完成后,進(jìn)

    2024年02月11日
    瀏覽(34)
  • Android 音視頻開發(fā)—MediaPlayer音頻與視頻的播放介紹

    Android 音視頻開發(fā)—MediaPlayer音頻與視頻的播放介紹

    Android多媒體中的——MediaPlayer,我們可以通過(guò)這個(gè)API來(lái)播放音頻和視頻該類是Androd多媒體框架中的一個(gè)重要組件,通過(guò)該類,我們可以以最小的步驟來(lái)獲取,解碼和播放音視頻。 它支持三種不同的媒體來(lái)源: 本地資源 內(nèi)部的URI,比如你可以通過(guò)ContentResolver來(lái)獲取 外部URL(流

    2024年02月10日
    瀏覽(27)
  • Android音視頻處理技術(shù):音頻混音與播放

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在現(xiàn)代生活中,我們都會(huì)聽到各種各樣的聲音。但是有的聲音會(huì)相互抵消影響我們的正常生活,而有的聲音則會(huì)增加我們的情緒快樂。人類為了能夠真正體驗(yàn)到聲音帶來(lái)的快感,需要將不同類型的聲音合并,再將它們?cè)賯鬟_(dá)給大腦。音頻混音與

    2024年02月08日
    瀏覽(19)
  • 安卓音視頻開發(fā)(3)—— AudioTrack兩種方式播放pcm音頻

    前言 之前學(xué)習(xí)了AudioRecord錄制pcm音頻,與之對(duì)應(yīng)的就是AudioTrack播放pcm音頻(MediaPlayer、SoundPool有其他應(yīng)用場(chǎng)景),它有兩種數(shù)據(jù)加載模式(MODE_STATIC、MODE_STREAM)。 模式 MODE_STATIC :這種模式下,一次將所有的數(shù)據(jù)放入一個(gè)固定的buffer,然后寫入到AudioTrack中,后續(xù)就不用繼續(xù)

    2023年04月22日
    瀏覽(25)
  • 【音視頻原理】音視頻 “ 采樣 - 編碼 - 封裝 過(guò)程 “ 和 “ 解封裝 - 解碼 - 播放 過(guò)程 “ 分析 ( 視頻采集處理流程 | 音頻采集處理流程 | 音視頻文件解封裝播放流程 )

    【音視頻原理】音視頻 “ 采樣 - 編碼 - 封裝 過(guò)程 “ 和 “ 解封裝 - 解碼 - 播放 過(guò)程 “ 分析 ( 視頻采集處理流程 | 音頻采集處理流程 | 音視頻文件解封裝播放流程 )

    本篇文件主要分析 音視頻文件 是怎么產(chǎn)生的 , 以及 音視頻文件是如何播放的 ; 視頻文件從錄像到生成文件的全過(guò)程 : 采集圖像幀 : 攝像頭 硬件 負(fù)責(zé) 采集畫面 , 采集的 初始畫面 稱為 \\\" 圖像幀 \\\" , 一秒鐘 采集 的 圖像幀 數(shù)量 稱為 \\\" 幀率 \\\" , 如 : 60 幀 就是 一秒鐘采集 60 個(gè)畫

    2024年02月11日
    瀏覽(104)
  • Android 使用webView打開網(wǎng)頁(yè)可以實(shí)現(xiàn)自動(dòng)播放音頻

    Android 使用webView打開網(wǎng)頁(yè)可以實(shí)現(xiàn)自動(dòng)播放音頻

    使用webview 自動(dòng)播放音視頻,場(chǎng)景如,流媒體自動(dòng)部分,音視頻通話等。會(huì)出現(xiàn)如下問題: ? 解決方案如下: 配置webview 如下,這樣可以自動(dòng)播放音頻。

    2024年02月12日
    瀏覽(32)
  • 【ESP32音視頻傳輸】②通過(guò)I2S采集SPH0645麥克風(fēng)音頻數(shù)據(jù)并上傳到服務(wù)端實(shí)時(shí)播放

    【ESP32音視頻傳輸】②通過(guò)I2S采集SPH0645麥克風(fēng)音頻數(shù)據(jù)并上傳到服務(wù)端實(shí)時(shí)播放

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 本文章基于Arduino ESP32 2.07版本,因?yàn)?.04版本開始I2S驅(qū)動(dòng)被更改了,所以相同代碼可能效果不太同 本文主要參考了:https://atomic14.com/2020/09/12/esp32-audio-input.html ESP32有多種方式從外置麥克風(fēng)中讀取數(shù)據(jù):

    2024年02月11日
    瀏覽(22)
  • 前端基礎(chǔ)(三十六):讀取本地音視頻設(shè)備并進(jìn)行播放

    前端基礎(chǔ)(三十六):讀取本地音視頻設(shè)備并進(jìn)行播放

    請(qǐng)求媒體輸入和輸出設(shè)備的列表,例如麥克風(fēng),攝像機(jī),耳機(jī)設(shè)備等 會(huì)提示用戶給予使用媒體輸入的許可,媒體輸入會(huì)產(chǎn)生一個(gè)MediaStream,里面包含了請(qǐng)求的媒體類型的軌道。此流可以包含一個(gè)視頻軌道(來(lái)自硬件或者虛擬視頻源,比如相機(jī)、視頻采集設(shè)備和屏幕共享服務(wù)等

    2024年02月15日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包