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

closeRecorder() 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.
getSampleRate() Future<int>
Get the sampleRate used by startRecorder()
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
openRecorder({dynamic isBGService = false}) Future<FlutterSoundRecorder?>
Open a Recorder
pauseRecorder() Future<void>
Pause the recorder
requestData() → void
resumeRecorder() Future<void>
Resume a paused Recorder
setLogLevel(Level aLevel) → 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<List<Float32List>>? toStreamFloat32, StreamSink<List<Int16List>>? toStreamInt16, StreamSink<Uint8List>? toStream, Duration timeSlice = Duration.zero, int? sampleRate, int numChannels = 1, int bitRate = 16000, int bufferSize = 8192, bool enableVoiceProcessing = false, 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