React Video Editor Documentation
Default Sound Adapter
The default sound adapter for React Video Editor
Default Sound Adapter
The default sound adapter handles local audio files and remote URLs in React Video Editor.
Overview
The default sound adapter is the standard adapter that comes with React Video Editor. It supports:
- Local audio files (MP3, WAV, AAC, OGG, etc.)
- Remote audio URLs
- Audio metadata extraction
- Basic audio processing
Usage
import { SoundAdapter } from 'react-video-editor';
const adapter = new SoundAdapter({
// Configuration options
});
// Load a local audio file
const audio = await adapter.load('/path/to/audio.mp3');
// Load a remote audio
const remoteAudio = await adapter.load('https://example.com/audio.wav');
Configuration
Option | Type | Default | Description |
---|---|---|---|
maxFileSize | number | 50MB | Maximum file size in bytes |
allowedFormats | string[] | ['mp3', 'wav', 'aac', 'ogg'] | Allowed audio formats |
timeout | number | 30000 | Request timeout in milliseconds |
sampleRate | number | 44100 | Audio sample rate |
Supported Formats
- MP3
- WAV
- AAC
- OGG
- FLAC
- M4A
- WebM (audio)
Features
Audio Processing
const processedAudio = await adapter.process(audio, {
volume: 0.8,
fadeIn: 1000, // milliseconds
fadeOut: 1000 // milliseconds
});
Audio Analysis
const analysis = await adapter.analyze(audio);
console.log('Duration:', analysis.duration);
console.log('Sample Rate:', analysis.sampleRate);
console.log('Channels:', analysis.channels);
Format Conversion
const wavAudio = await adapter.convert(audio, 'wav');
Audio Properties
Property | Type | Description |
---|---|---|
duration | number | Audio duration in seconds |
sampleRate | number | Audio sample rate |
channels | number | Number of audio channels |
bitrate | number | Audio bitrate |
format | string | Audio format |
Error Handling
The default adapter includes built-in error handling for:
- Invalid file formats
- Network errors
- File size limits
- Corrupted audio files
Examples
// Basic usage
const adapter = new SoundAdapter();
try {
const audio = await adapter.load('/audio/background.mp3');
const analysis = await adapter.analyze(audio);
console.log('Audio loaded:', {
duration: analysis.duration,
format: analysis.format,
sampleRate: analysis.sampleRate
});
} catch (error) {
console.error('Failed to load audio:', error);
}