Web Audio API - 记录到MP3?

Lig*_*ght 16 javascript html5 mp3 wav web-audio-api

我在问,因为我无法在任何地方找到答案.我已经成功实现了RecorderJS,以便在JS中记录麦克风输入.但是,录制的文件是WAV,导致大文件.我正在寻找一种方法用JS直接录制到MP3,或者以某种方式将位编码为MP3而不是WAV.

怎么做到呢?是否有可以做到的Web Audio API功能或某种JS MP3编码器?

cwi*_*lso 11

我见过的唯一的Javascript MP3编码器是https://github.com/akrennmair/libmp3lame-js,这是一个使用emscripten的端口.它应该很慢,我从来没有用过它.

我不知道任何原生编写的Javascript MP3编码器,Web Audio API不包含编码.


小智 6

有一个用纯javascript编写的库,叫做lamejs.从原始音频编码mp3.它比libmp3lame的emscripten编译快得多.https://github.com/zhuker/lamejs

用法示例:

lib = new lamejs();
mp3encoder = new lib.Mp3Encoder(1, 44100, 128); //mono 44.1khz encode to 128kbps
samples = new Int16Array(44100); //one second of silence
var mp3 = mp3encoder.encodeBuffer(samples); //encode mp3
Run Code Online (Sandbox Code Playgroud)