我想然而重用音頻元素,我得到在Chrome以下錯誤:不能重複音頻元素
(index):52 Uncaught InvalidStateError: Failed to execute 'createMediaElementSource' on 'AudioContext': HTMLMediaElement already connected previously to a different MediaElementSourceNode.
window.audioContext = new(window.AudioContext || window.webkitAudioContext)();
var sourceNode
var scripNode
function create() {
scriptNode = window.audioContext.createScriptProcessor(4096);
sourceNode = window.audioContext.createMediaElementSource(document.getElementById('audio'));
sourceNode.connect(scriptNode);
scriptNode.connect(window.audioContext.destination);
}
function destroy() {
sourceNode.disconnect();
scriptNode.disconnect();
}
create();
setTimeout(function() {
destroy();
create();
}, 200);
什麼是清理使用網絡音頻,這樣的正確方法一個mediaelement可以重新使用?
Chrome確實應該解決這個問題。 –
我真正想要做的就是我在示例中所做的:)。 – ronag
如果你想說服某人修復它,那麼玩具演示作爲你真正想要的應用程序並不會很好。解釋爲什麼您需要在實際應用程序中重新使用媒體元素。 –