使用JavaScript的AudioContext可以实现音频混合,为了导出音频混合,我使用了OfflineAudioContext和lame js来编码解码后的音频。现在导出功能已经正常工作,但速度非常慢,我正在寻找更快的高效方法来完成导出。
请查看此[线程][1]
document.querySelector('input').onchange = function(){
var fileReader = new FileReader;
fileReader.onload = function(){
var arrayBuffer = this.result;
snippet.log(arrayBuffer);
snippet.log(arrayBuffer.byteLength);
}
fileReader.readAsArrayBuffer(this.files[0]);
var url = URL.createObjectURL(this.files[0]);
audio_player.src = url;
audio_player.play();
};
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<input id="audio_file" type="file" accept="audio/*" />
<audio id="audio_player" />
Float32Array
。我建议您检查一下您的浏览器是否支持这项技术,以及是否支持基于GPU的矩阵乘法的WebGL(它可能支持)。如果不支持,我会尝试使用支持该技术的浏览器,并检查速度。 - Itai Bar-Haim