回答

1

现在,这是不可能在网络平台上。我们希望彻底检修解码和编码原语,以便它们能够实时工作(如今天的MediaRecorder)和离线(例如编码OfflineAudioContext)。我们甚至没有开始对此进行标准化,我们正在努力完成Web Audio API。

但是,得益于emscripten,无论如何,使用编译为javascript的libmp3lame版本(例如https://github.com/higuma/mp3-lame-encoder-js)都很容易。

我会建议您AudioBuffer越来越ArrayBuffer S,使用getChannelData(channelIndex),转移,为一个网络工作者(不复制,所以它的速度快),并张贴在编码的blob回主线程当它完成。