RVE LogoReact Video EditorDOCS
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

OptionTypeDefaultDescription
maxFileSizenumber50MBMaximum file size in bytes
allowedFormatsstring[]['mp3', 'wav', 'aac', 'ogg']Allowed audio formats
timeoutnumber30000Request timeout in milliseconds
sampleRatenumber44100Audio 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

PropertyTypeDescription
durationnumberAudio duration in seconds
sampleRatenumberAudio sample rate
channelsnumberNumber of audio channels
bitratenumberAudio bitrate
formatstringAudio 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);
}