Logo of QBMediaRecorderJS

QBMediaRecorderJS

The QBMediaRecorder.js is a JavaScript library providing stream object (representing a flux of audio- or video-related data) recording and extending the MediaStream Recording API.

npm
npm

QBMediaRecorder.js support all native mimetypes and 'audio/wav' and 'audio/mp3'.
For support wav and mp3 add qbAudioRecorderWorker.js to your project and set custom mimeType and workerPath in QBMediaRecorder's options:

var opts = {
    // use named function
    onstart: function onStart() {
        console.log('Recorder is started');
    },
    onstop: function onStop(Blob) {
        videoElement.src = URL.createObjectURL(blob);
    },
    // 'audio/wav' or 'audio/mp3'
    mimeType: 'audio/mp3',
    // set relative path (from folder node_modules for example)
    workerPath: '../node_modules/javascript-media-recorder/qbAudioRecorderWorker.js'
};

// uses as global variable, QBMediaRecorder is built as a UMD module.
var recorder = new QBMediaRecorder(opts);

Extendings methods of MediaRecorder:

See docs - all public API.
Check our sample, use a few source (video / audio).

Support

The QBMediaRecorder supports Firefox 29, Chrome 49 / Chrome 62 for Android, Opera 36 and Safari 6.1 (only wav and mp3)

Usage

The QBMediaRecorder is built as a UMD module and can be loaded via CDN, NPM, or from source.

Install

You can use CDN (by UNPKG) to deliver the QBMediaRecorder.

<script src='https://unpkg.com/media-recorder-js/mediaRecorder.js'></script>

Or use NPM

npm install media-recorder-js --save

Also you can download sources from Github, run project by the following commands.
You will need to have Gulp.

npm i
npm run build

Contribution

ESLint uses in project as lint, so install it before start developing.

npm install -g eslint

Related posts