成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

DOMException: The play() request was interrupted

OnlyMyRailgun / 4670人閱讀

摘要:最近在使用時(shí)遇到一個(gè)問(wèn)題,那就是在總是報(bào)錯(cuò)報(bào)錯(cuò)除了瀏覽器,其他瀏覽都沒(méi)有報(bào)錯(cuò)。后來(lái)了一下發(fā)現(xiàn)是因?yàn)檎{(diào)用的時(shí)候,音頻文件還沒(méi)有加載完成的問(wèn)題。例子通過(guò)這兩個(gè)例子,我在想用低版本還是不兼容。然而卻被現(xiàn)實(shí)啪啪的打臉。

最近在使用audio時(shí)遇到一個(gè)問(wèn)題,那就是在Chrome DevTools 總是報(bào)錯(cuò):

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().

or

Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.

報(bào)錯(cuò):

除了google瀏覽器,其他瀏覽都沒(méi)有報(bào)錯(cuò)。 而且雖然報(bào)錯(cuò),其實(shí)還是能正常播放聲音,本來(lái)想就這樣了,但是看到有報(bào)錯(cuò)??傆幸稽c(diǎn)膈應(yīng)。

后來(lái)google了一下 發(fā)現(xiàn)是因?yàn)檎{(diào)用play()的時(shí)候,音頻文件還沒(méi)有加載完成的問(wèn)題。

之前代碼:

知道了是這個(gè)問(wèn)題,那么如何修復(fù)呢?

例子:Autoplay


通過(guò)這個(gè)例子已經(jīng)能夠解決問(wèn)題,

但是新的問(wèn)題來(lái)了,promise在低版本的瀏覽器不支持。


Chrome 50才有 video和audio才在play()上面返回了一個(gè)promise;

然后我又看到了這個(gè)例子。

例子2:Fetch & Play



通過(guò)這兩個(gè)例子,我在想 用Fetch低版本還是不兼容。于是乎我就想用$.ajax, 因?yàn)樗谋疽獠痪褪且粋€(gè)異步么。先用阿賈克斯請(qǐng)求音頻文件,然后在回調(diào)里面調(diào)用play方法不就可以了么。

然而卻被現(xiàn)實(shí)啪啪的打臉。還是不行 報(bào)同樣的錯(cuò)。說(shuō)明此路不通啊。

沒(méi)辦法我就只能再請(qǐng)教google, 然后我在GitHub上面看到有人這樣說(shuō);

發(fā)現(xiàn)這也可以。于是我就把我的代碼改了一下:

// 播放聲音
function playVoice(src, domId) {
    var $dom = $("#" + domId)
    if ($.browser.msie) {
        // IE用bgsound標(biāo)簽處理聲音

        if ($dom.length) {
            $dom[0].src = src;
        } else {
            $("", {src: src, id: domId}).appendTo("body");
        }
    } else {
        // IE以外的其它瀏覽器用HTML5處理聲音
                if ($dom.length) {
                     $dom[0].load();
                    setTimeout(function() {
                        $dom[0].play();
                    }, 200);
                } else {
                    $("

大家一看也就明白了,就是先load,然后異步去調(diào)用play,但是我用0,在我刷新快,頻繁的時(shí)候還是會(huì)報(bào)錯(cuò)、于是我就改成200ms,至于延時(shí)器里面的200ms,我也是自己大概寫了一個(gè)數(shù)字.

以上問(wèn)題暫時(shí)解決。

參考文章:
(https://developers.google.com...

(https://github.com/sampotts/p...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/104087.html

相關(guān)文章

  • 2017-06-15 前端日?qǐng)?bào)

    摘要:前端日?qǐng)?bào)精選十問(wèn)幫你理清前端工程師及大前端團(tuán)隊(duì)的成長(zhǎng)問(wèn)題譯讀完細(xì)則之后學(xué)到的件事掘金怎么寫一個(gè)組件庫(kù)一眾成翻譯還有這操作一個(gè)能生成思維導(dǎo)圖的開(kāi)源搜索引擎知乎專欄中文前端推薦第天值得收藏的基礎(chǔ)教程知乎專欄第期沒(méi)有的一天轉(zhuǎn)載中回調(diào)地 2017-06-15 前端日?qǐng)?bào) 精選 十問(wèn)sofish:幫你理清前端工程師及大前端團(tuán)隊(duì)的成長(zhǎng)問(wèn)題![譯] 讀完 flexbox 細(xì)則之后學(xué)到的 11 件事 -...

    Benedict Evans 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<