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.

Exceptions / Errors

AudioException
Exception thrown by AudioChannel operations.