audio_waveform_recorder library
Audio Waveform Recorder Record audio with real-time waveform + playback with scrubbing. Zero external dependencies — pure Dart UI + native platform channels.
Classes
- AudioChannel
- Dart-side wrapper for all native audio operations. Communicates with Android (Kotlin) and iOS (Swift) via MethodChannel.
- DurationFormatter
- Formats Duration values for display in the recorder/player UI.
- PlayerController
- Controls audio playback with position tracking for waveform scrubbing.
- RecorderConfig
- Full configuration for the audio recorder.
- RecorderController
- Controls audio recording with real-time waveform amplitude streaming.
- RecordingResult
- Result returned after recording completes.
- WaveformData
- Stores a list of normalised amplitude samples (0.0 – 1.0) captured during recording or decoded from an audio file.
- WaveformPainter
- WaveformPainterWidget
- A standalone widget that renders a WaveformData using CustomPainter. Can be used independently for displaying pre-recorded waveforms.
- WaveformPlayerWidget
- A complete audio playback widget with waveform scrubbing.
- WaveformRecorderWidget
- A complete, drop-in audio recording widget with real-time waveform.
- WaveformStyleConfig
- Extra per-style configuration that goes beyond RecorderConfig.
Enums
- AudioFormat
- Output audio format.
- BitRate
- Audio bit rate in bits per second (for compressed formats).
- PlaybackState
- Playback state.
- PlayheadStyle
- Playhead cursor style.
- RecordingState
- Recording state machine.
- SampleRate
- Audio sample rate in Hz.
- WaveformStyle
- All available waveform visual styles.
Extensions
Exceptions / Errors
- AudioException
- Exception thrown by AudioChannel operations.