有没有一种简单的方法可以做到这一点,还是我需要交错频道并创建一个DataView
,其中包含特定的标题格式以及交错的数据?
答案 0 :(得分:2)
目前,这在网络平台上是不可能的。我们希望对解码和编码原语进行大修,以便它们可以实时工作(如MediaRecorder
,今天)和离线(例如,编码OfflineAudioContext
)。我们甚至没有开始标准化,我们正在努力完成Web Audio API。
但是,感谢emscripten,无论如何都很容易做到,使用libmp3lame
版本编译为wasm
的javascript,例如https://github.com/higuma/mp3-lame-encoder-js。
我建议您使用ArrayBuffer
从AudioBuffer
获取getChannelData(channelIndex)
,将其转移给网络工作者(无需复制,因此速度很快),然后将编码后的blob发回完成后的主线程。