AudioRecorderController class

Implementation of AudioRecorderService using flutter_sound. Provides audio recording capabilities for rooms, inbox, etc.

Inheritance
Implemented types

Constructors

AudioRecorderController()

Properties

audioLevelObs → RxDouble
Observable audio level (decibels normalized to 0.0-1.0)
final
durationObs → RxInt
final
hasFileObs → RxBool
final
hashCode int
The hash code for this object.
no setterinherited
hasRecordedFile bool
Whether a recorded file exists and is ready for use
no setteroverride
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
isDisposed bool
no setterinherited
isPaused bool
no setter
isPausedObs → RxBool
final
isRecording bool
Whether the recorder is currently recording
no setteroverride
isRecordingObs → RxBool
Observable state for UI binding
final
listenersLength int
no setterinherited
recordedBytes Future<Uint8List?>
Raw bytes of the recorded audio — convenience for voice cloning and TTS reference audio without manual file I/O.
no setteroverride
recordedFile → File?
File object of the recorded audio (if exists)
no setteroverride
recordedFilePath String?
Path to the recorded audio file (if exists)
no setteroverride
recordingDurationSeconds int
Duration of the current/last recording in seconds
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addListener(SintStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, SintStateUpdate listener) → Disposer
inherited
cancelRecording() Future<void>
Cancel recording and delete any partial file
override
clearRecording() → void
Clear the recorded file after upload/use
override
containsListener(SintStateUpdate listener) bool
inherited
debounce<T>(RxInterface<T> rx, void callback(T), {Duration duration = const Duration(milliseconds: 400)}) → void
Calls callback after rx stops changing for duration. Useful for search-as-you-type, form validation, etc.
inherited
dispose() → void
inherited
disposeRecorder() Future<void>
Dispose resources
override
ever<T>(RxInterface<T> rx, void callback(T)) → void
Calls callback every time rx changes. Auto-cancels on controller disposal.
inherited
formatDuration(int seconds) String
Format duration as MM:SS
initialize() Future<bool>
Initialize the recorder (request permissions, open recorder)
override
interval<T>(RxInterface<T> rx, void callback(T), {Duration duration = const Duration(seconds: 1)}) → void
Calls callback at most once per duration, ignoring intermediate changes. Useful for rate-limiting UI updates.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
once<T>(RxInterface<T> rx, void callback(T)) → void
Calls callback only the first time rx changes, then cancels.
inherited
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onDelete() → void
inherited
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
override
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
onStart() → void
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclasses. This method should be internal and is required to define the lifetime cycle of the subclass.
inherited
pauseRecording() Future<bool>
Pause recording
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
reportAdd(VoidCallback disposer) → void
inherited
reportRead() → void
inherited
resumeRecording() Future<bool>
Resume recording
startRecording() Future<bool>
Start recording audio to a temporary file
override
stopRecording() Future<bool>
Stop recording and finalize the file
override
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Notifies listeners to update the UI.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited