簡體   English   中英

Microsoft Edge 123音頻限制

[英]Microsoft Edge 123 audio limit

我遇到了僅Edge獨有的怪異錯誤。

看來您只能有123個new Audio()實例。 下一個將具有MediaError.code的錯誤MEDIA_ERR_SRC_NOT_SUPPORTED Edge開始認為該文件不受支持或什么-因此它永遠不會加載。 networkState等於NETWORK_NO_SOURCEreadystate等於HAVE_NOTHING

我做了一個jsFiddle。 在Edge中打開下面的鏈接,打開Developer Tools。 然后按“開始123”按鈕(它應該可以正常工作)。 完成后,按“開始124”按鈕,然后錯誤將出現在控制台中。

https://jsfiddle.net/rqg0xsw7/5/

與摘要相同:

 var curIntervalId = 0; function startDownload(sndMax) { var sndFile = "http://freesound.org/data/previews/33/33245_65091-lq.mp3"; var sndIndex = []; for (var i = 0; i < sndMax; i++) { var snd = new Audio(); snd.src = sndFile + "?v=" + Math.random(); snd.load(); sndIndex.push(snd); } function checkSounds() { var completed = 0; var errored = 0; for (var i = 0; i < sndIndex.length; i++) { var sndError = sndIndex[i].error; if (sndError !== null) { errored++; console.log(sndError); } if (sndIndex[i].readyState === 4) { completed++; } } $("#completed").html(completed + "/" + sndIndex.length); $("#errored").html(errored); if ((completed + errored) === sndIndex.length) { $('#done').html('Yes'); $("button").prop('disabled', false); clearInterval(curIntervalId); } } return setInterval(function() { return checkSounds(); }, 1000); } $("#start123").click(function() { $("#completed").html("0/0"); $("#errored").html(0); $('#done').html('No'); $("button").prop('disabled', true); curIntervalId = startDownload(123); }); $("#start124").click(function() { $("#completed").html("0/0"); $("#errored").html(0); $('#done').html('No'); $("button").prop('disabled', true); curIntervalId = startDownload(124); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button id="start123">Start 123</button> <button id="start124">Start 124</button> <table> <tr> <td>Completed</td> <td> <div id="completed">0/0</div> </td> <tr> <tr> <td>Errors</td> <td> <div id="errored">0</div> </td> <tr> <tr> <td>Done</td> <td> <div id="done">0</div> </td> <tr> </table> 

這兩個按鈕之間的唯一區別是new Audio的加載量(123與124)。 我也嘗試過單獨加載new Audio()元素,而不是一次加載所有元素-沒什么區別。 同樣,文件大小也沒有區別。

任何想法如何繞過此錯誤?

您已經提到“在Edge中打開鏈接,打開開發人員工具。然后按“開始123”按鈕(它應該正常工作,沒有錯誤)。完成后,按“開始124”按鈕,然后錯誤會出現在您的安慰。”

我嘗試使用EDGE中的JS Fiddle代碼進行測試。 我沒有收到任何錯誤,但收到了警告消息。

以下是我的測試結果。

點擊此處查看測試結果。

您可以看到它正在正常運行,沒有任何錯誤。

我建議您安裝最新的Windows更新,然后再次嘗試重現此問題。 有可能在最新更新中解決了該問題。

您可以進行測試,並讓我們知道您的測試結果。

如果需要,我們將嘗試提供進一步的建議。

問候

迪帕克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM