Skip to main content Link Menu Expand (external link) Document Search Copy Copied
FlutterSoundRecorder class - recorder library - Dart API
menu
FlutterSoundRecorder

FlutterSoundRecorder class

A Recorder is an object that can record to various destinations.


The Recorder class can have multiple instances at the same time. Each instance is used to control its own destination.

The destinations possible can be:

  • A file
  • A dart stream

Using a recorder is very simple :

  1. Create a new FlutterSoundRecorder

  2. Open it with openRecorder()

  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 : closeRecorder(). This verb will call stopRecorder() if necessary.

Recorder States Recorder States

If you are new to Flutter Sound, you may have a look to this little guide


Constructors

FlutterSoundRecorder({Level logLevel = Level.debug})
Instanciate a new Flutter Sound Recorder.

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 getter of the FlutterSoundRecorder Logger
no setter
onProgress Stream<RecordingDisposition>?
A stream on which FlutterSound will post the recorder progression.
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.
isEncoderSupported(Codec codec) Future<bool>
Returns true if the specified encoder is supported by flutter_sound on this platform.
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
resumeRecorder() Future<void>
Resume a paused Recorder
setLogLevel(Level aLevel) → void
Used if the App wants to dynamically change the Log Level.
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, int? sampleRate, int numChannels = 1, int bitRate = 16000, int bufferSize = 8192, bool enableVoiceProcessing = false, AudioSource audioSource = AudioSource.defaultSource}) Future<void>
startRecorder() starts recording a recorder.
stopRecorder() Future<String?>
Stop a recorder.
toString() String
A string representation of this object.
inherited

Operators

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