audio-recorder-js

Record audio in your browser

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
audio-recorder-js
101.0.74 years ago4 years agoMinified + gzip package size for audio-recorder-js in KB

Readme

Recorder.js
An easy to use audio recorder with on Matt Diamond's recorderjs at the core.

Installation

yarn add audio-recorder-js # or npm install audio-recorder-js --save

Usage

import Recorder from 'audio-recorder-js';

const audioContext =  new (window.AudioContext || window.webkitAudioContext)();

const recorder = new Recorder(audioContext, {
  // An array of 255 Numbers
  // You can use this to visualize the audio stream
  // If you use react, check out react-wave-stream
  onAnalysed: data => console.log(data),
  numChannels: 2,
  sampleRate: 44100,
  sampleBits: 16,  // 8 or 16
  bufferLen: 4096,
  mimeType:'audio/wav'
});

let isRecording = false;
let blob = null;

navigator.mediaDevices.getUserMedia({audio: true})
  .then(stream => recorder.init(stream))
  .catch(err => console.log('Uh oh... unable to get stream...', err));

function startRecording() {
  recorder.start()
    .then(() => isRecording = true);
}

function stopRecording() {
  recorder.stop()
    .then(({blob, buffer}) => {
      blob = blob;

      // buffer is an AudioBuffer
    });
}

function download() {
  Recorder.download(blob, 'my-audio-file'); // downloads a .wav file
}

Cool stuff that helped me out

  • https://github.com/mattdiamond/Recorderjs
  • https://github.com/cwilso/AudioRecorder
  • https://codepen.io/zapplebee/pen/gbNbZE