web-media-recorder
Version:
A versatile media recording library for audio and video with advanced features
79 lines (63 loc) • 1.7 kB
Markdown
A versatile, easy-to-use media recording library for JavaScript with support for both audio and video recording.
- 🎙️ Record audio and video
- ⚙️ Highly configurable
- 🌐 Browser-compatible
- 📦 TypeScript support
- 🔬 Chunk-based recording
- 📝 Comprehensive callbacks
```bash
npm i web-media-recorder
```
```javascript
import WebMediaRecorder from 'web-media-recorder';
async function recordAudio() {
const recorder = await WebMediaRecorder.create({
mediaType: 'audio',
onChunk: (chunkInfo) => {
console.log('Chunk recorded:', chunkInfo);
},
onStop: (recordingInfo) => {
// Handle final recording
const audioBlob = recordingInfo.blob;
}
});
recorder.start(); // Start recording
// Later...
recorder.stop(); // Stop recording
}
```
```javascript
import WebMediaRecorder from 'web-media-recorder';
async function recordVideo() {
const recorder = await WebMediaRecorder.create({
mediaType: 'video',
constraints: {
video: { width: 1280, height: 720 },
audio: true
},
chunkDuration: 10, // 10-second chunks
onStop: (recordingInfo) => {
const videoBlob = recordingInfo.blob;
}
});
recorder.start();
}
```
- `mediaType`: 'audio' or 'video'
- `chunkDuration`: Duration of each chunk (default: 5s)
- `constraints`: Media stream constraints
- `mimeType`: Custom MIME type
- `maxDuration`: Maximum recording duration
- `onChunk`: Callback for each chunk
- `onStop`: Callback when recording stops
- `onError`: Error handling callback
## License
MIT