Manohar Gunturu
Manohar Gunturu

Reputation: 696

How to record audio in format of mp3/m4a JavaScript- recorder.js

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.

Upvotes: 1

Views: 16883

Answers (3)

octavn
octavn

Reputation: 3285

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://blog.addpipe.com/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

Upvotes: 2

Vishal
Vishal

Reputation: 717

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.

Upvotes: -2

rampravesh
rampravesh

Reputation: 1

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';

Upvotes: 0

Related Questions