audio library

Consona Mobile — Dedicated Audio Subsystem

Classes

AudioBackend
Backend contract. Implementations must call the attached callbacks reliably.
AudioEngine
Pure-Dart audio state machine — one instance per player surface.
AudioPlaybackState
AudioRecorderBackend
Abstract capture backend — one instance per AudioRecorderEngine.
AudioRecorderEngine
Pure Dart recorder engine — one instance per recorder surface.
AudioRecorderState
AudioRecordingResult
AudioTrack
ConsonaAudioArtwork
Resolves track artwork from an ImageProvider, URL, or placeholder.
ConsonaAudioPlayer
Minimalist composite audio player surface (delegates to ConsonaAudioPlayerCard).
ConsonaAudioPlayerCard
Full audio player card with optional poster, track info, and timeline.
ConsonaAudioPlayerPill
Stadium player: one solid left capsule + morphing timeline track.
ConsonaAudioPlugin
Marks the audio module as available.
ConsonaAudioRecorderCard
Full recorder card: live levels, stop/pause, review, resume, restart.
ConsonaAudioRecorderPill
Compact stadium recorder: idle → recording → review (morph + resume).
ConsonaMiniVisualizer
Six-bar mini visualizer used inside player / recorder pills.
ConsonaMorphFill
Clips child to progress from the leading edge, with a full-radius stadium tip on the trailing edge so the fill never looks square-cut.
ConsonaRecordingPreview
Real audio preview for recorder review (card / pill).
ConsonaTimelineScrubber
Tactile precision audio timeline scrubber with time readout.
ConsonaWaveform
Interactive audio waveform bar visualizer with touch scrubbing.
MockAudioBackend
MockAudioRecorderBackend
Simulated mic for previews / tests — no platform permissions.

Functions

audioPlayerFormatTime(Duration d) → String
Convenience re-export of timestamp helper for card consumers.
formatAudioTimestamp(Duration duration) → String
Formats duration as m:ss or h:mm:ss with tabular-friendly padding.