1

有没有一种简单的方法可以做到这一点,还是我需要交错通道并创建一个DataView包含特定标头格式以及交错数据的通道?

4

1 回答 1

3

目前,这在网络平台上是不可能的。我们想要彻底检查解码和编码原语,使它们既可以实时工作(例如MediaRecorder,今天),也可以离线工作(例如,编码一个OfflineAudioContext)。我们甚至还没有开始对此进行标准化,我们正在努力完善 Web Audio API。

但是,感谢 emscripten,无论如何,使用libmp3lame编译为 javascript 的版本wasm,例如https://github.com/higuma/mp3-lame-encoder-js都非常容易。

我建议从您的, using获取ArrayBuffers ,将其传输到网络工作者(无需复制,因此速度很快),并在完成后将编码的 blob 发布回主线程。AudioBuffergetChannelData(channelIndex)

于 2017-04-22T16:35:17.927 回答