使用libmp3lame显示进度编码

时间:2014-11-21 15:20:23

标签: javascript c++

我使用libmp3lame为javascript编码wave数据(emscripten portage,因此方法与c ++版本完全相同)。

它有效,但编码可能需要很长时间,我需要制作一个进度条来显示进度。我的问题是我不知道libmp3lame的哪些函数或我可以调用或绑定的事件使它成为现实。

为了记录(不确定它对我来说非常重要),这是我的代码:

mp3codec = Lame.init();
Lame.set_mode(mp3codec, config.mode || Lame.JOINT_STEREO);
Lame.set_num_channels(mp3codec, config.channels || 2);
Lame.set_out_samplerate(mp3codec, config.sampleRate || 44100);
Lame.set_bitrate(mp3codec, config.bitrate || 128);
Lame.init_params(mp3codec);

var mp3data;
for (var i = 0; i < bufferLength; i++) {
    mp3data = Lame.encode_buffer_ieee_float(mp3codec, inputBufferLeft[i], inputBufferRight[i]);
    addMp3Data(mp3data.data);
}

mp3Data = Lame.encode_flush(mp3codec);
addMp3Data(mp3data.data);

var final = new Blob([new Uint8Array(data)], { type: 'audio/mp3' });

此外,如果您有一个指向开发文档的链接,那就太棒了。

感谢。

0 个答案:

没有答案