![](/img/trans.png)
[英]resampling audio in Microsoft Edge since copyToChannel is not supported
[英]Microsoft Edge 123 audio limit
我遇到了僅Edge獨有的怪異錯誤。
看來您只能有123個new Audio()
實例。 下一個將具有MediaError.code
的錯誤MEDIA_ERR_SRC_NOT_SUPPORTED
。 Edge開始認為該文件不受支持或什么-因此它永遠不會加載。 networkState
等於NETWORK_NO_SOURCE
, readystate
等於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.