我正在嘗試製作一個網站,可立即在立體聲音頻上執行相位取消。當我發現相位消除和所有它可以實現我認爲它是驚人的,所以我想看看你是否可以在網上很快做到這一點,使它更有趣。createMediaElementSource從音頻文件輸入?
我找到了this Web Audio API post,這個例子正是我想要的(如果你按下卡拉OK按鈕)。但是,它有點慢,它不適用於大文件。 The author also mentions this:
真的,我應該使用mediaElement來操縱更長的音軌,因爲我們真的不應該在javascript中進行復雜的處理。
我試圖使用mediaElement,但我甚至無法弄清楚如何開始。我嘗試這樣做:
<input type="file" id="upload" accept="audio/*">
<script>
var upload = document.getElementById("upload");
upload.addEventListener("change", function() {
var context = new (window.AudioContext || window.webkitAudioContext)();
var source = context.createMediaElementSource(upload);
console.log(source);
});
</script>
我得到的錯誤Failed to execute 'createMediaElementSource' on 'BaseAudioContext': parameter 1 is not of type 'HTMLMediaElement'.
我知道一個輸入元素是不一樣的聲音元素,所以我不明白你怎麼可以加載它作爲一個MediaElement的。
任何幫助將不勝感激!
非常感謝這一點,我想這樣做的。但是,它似乎並不是一個特別乾淨的方法。很抱歉打擾你,但這是比這更乾淨的方式嗎? – MysteryPancake