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