mattdiamond / Recorderjs

A plugin for recording/exporting the output of Web Audio API nodes
4.18k stars 1.46k forks source link

Want to downgrade quality of audio(Overall Bit rate) from 512kbps to 256 kbps in .wav format #211

Open VijayDhake opened 2 years ago

VijayDhake commented 2 years ago

` const startRecording = () => { regenerateImageButton.disabled = true; let constraints = { audio: true, video: false, };

recordButton.disabled = true;
stopButton.disabled = false;
pauseButton.disabled = false;

audioContext = new window.AudioContext({
  sampleRate: 16000,
  //bufferLen: 4096
});
console.log("sample rate: " + audioContext.sampleRate);

navigator.mediaDevices
  .getUserMedia(constraints)
  .then(function (stream) {
    console.log("initializing Recorder.js ...");

    gumStream = stream;

    let input = audioContext.createMediaStreamSource(stream);

    recorder = new window.Recorder(input, {
      numChannels: 1,
      sampleBits: 16, // 8 or 16
      //bufferLen: 4096,
      mimeType: "audio/wav",
    });

    recorder.record();

    if (stoptime == true) {
      stoptime = false;
      timerCycle();
    }
  })
  .catch(function (err) {
    //enable the record button if getUserMedia() fails
    recordButton.disabled = false;
    stopButton.disabled = true;
    pauseButton.disabled = true;
  });

};`

By default It is creating .wav file with 512kbps. I want to set it to 256kbps through code. Not getting any options. Any help will be appreciated.

Thanks in advance!