FlutterSoundRecorder class

A Recorder is an object that can playback from various sources.


Using a recorder is very simple :

  1. Create a new FlutterSoundRecorder

  2. Open it with openAudioSession()

  3. Start your recording with startRecorder().

  4. Use the various verbs (optional):

  5. Stop your recorder : stopRecorder()

  6. Release your recorder when you have finished with it : closeAudioSession(). This verb will call stopRecorder() if necessary.


Constructors

FlutterSoundRecorder({Level logLevel = Level.debug})
Instanciate a new Flutter Sound Recorder. The optional paramater Level logLevel specify the Logger Level you are interested by.

Properties

hashCode → int
The hash code for this object.
no setterinherited
isPaused → bool
True if recorderState.isPaused
no setter
isRecording → bool
True if recorderState.isRecording
no setter
isStopped → bool
True if recorderState.isStopped
no setter
logger → Logger
The FlutterSoundRecorder Logger getter
no setter
onProgress → Stream<RecordingDisposition>?
A stream on which FlutterSound will post the recorder progression. You may listen to this Stream to have feedback on the current recording.
no setter
recorderState → RecorderState
The current state of the Recorder
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

closeAudioSession() → Future<void>
Close a Recorder
deleteRecord({required String fileName}) → Future<bool?>
Delete a temporary file
getRecordURL({required String path}) → Future<String?>
Get the URI of a recorded file.
isEncoderSupported(Codec codec) → Future<bool>
Returns true if the specified encoder is supported by flutter_sound on this platform.
log(Level logLevel, String msg) → void
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
openAudioSession({AudioFocus focus = AudioFocus.requestFocusTransient, SessionCategory category = SessionCategory.playAndRecord, SessionMode mode = SessionMode.modeDefault, int audioFlags = outputToSpeaker, AudioDevice device = AudioDevice.speaker}) → Future<FlutterSoundRecorder?>
Open a Recorder
pauseRecorder() → Future<void>
Pause the recorder
resumeRecorder() → Future<void>
Resume a paused Recorder
setAudioFocus({AudioFocus focus = AudioFocus.requestFocusTransient, SessionCategory category = SessionCategory.playAndRecord, SessionMode mode = SessionMode.modeDefault, AudioDevice device = AudioDevice.speaker}) → Future<void>
Changes the audio focus in an open Recorder
setLogLevel(Level aLevel) → Future<void>
Used if the App wants to dynamically change the Log Level. Seldom used. Most of the time the Log Level is specified during the constructor.
setSubscriptionDuration(Duration duration) → Future<void>
Sets the frequency at which duration updates are sent to duration listeners.
startRecorder({Codec codec = Codec.defaultCodec, String? toFile, StreamSink<Food>? toStream, int sampleRate = 16000, int numChannels = 1, int bitRate = 16000, AudioSource audioSource = AudioSource.defaultSource}) → Future<void>
startRecorder() starts recording with an open session.
stopRecorder() → Future<String?>
Stop a record.
toString() → String
A string representation of this object.
inherited

Operators

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