How to record audio in format of mp3/m4a JavaScrip

2019-05-31 13:25发布

In recorderjs rec.exportWAV([callback][, type]) is used to generate a Blob object containing the recorded audio in WAV format.

But the WAV file is taking large space, for 30sec it is approximately 1mb. So I want to record the audio in format of mp3/m4a which takes less space.

Is there any way to record audio in format of mp3/m4a.

3条回答
我欲成王,谁敢阻挡
2楼-- · 2019-05-31 13:51

Recorder.js does NOT support encoding captured audio as mp3.

It can only record 16 bit mono or stereo uncompressed pcm as wav.

To halve the size you could record mono sound instead of 2 channel/stereo using numChannels:1 in the Recorder.js constructor like this:

var rec = new Recorder(source,{numChannels:1})

numChannels is an undocumented feature of Recorder.js (the library is not maintained anymore).

Source: https://addpipe.com/blog/using-recorder-js-to-capture-wav-audio-in-your-html5-web-site/

To record to mp3 you can use:

  1. WebAudioRecorder.js which includes an asm.js version of the LAME mp3 encoder
  2. vmsg which includes a WebAssembly version of the LAME mp3 encoder
查看更多
Deceive 欺骗
3楼-- · 2019-05-31 13:54

You can change the format of the recording by mentioning the format in exportWAV function, as follows:

recorder.exportWAV(function (blob) {
                callback(blob);

                // create WAV download link using audio data blob
                // createDownloadLink();

                // Clear the Recorder to start again !
                recorder.clear();
            }, "audio/mp3");

I have came to the above solution for the following link.

查看更多
混吃等死
4楼-- · 2019-05-31 13:59

i think you should check this link : HTML5 record audio to file

here u can change the audio type like this : type = type || config.type || 'audio/wav';

查看更多
登录 后发表回答