Record audio and store it locally
To use this plugin, add audio_recorder
as a dependency in your pubspec.yaml file.
Make sure you add the following permissions to your Android Manifest
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
// Import package
import 'package:flutter_audio_recorder_plugin/flutter_audio_recorder_plugin.dart';
// Check permissions before starting
bool hasPermissions = await FlutterAudioRecorderPlugin.hasPermissions;
// Get the state of the recorder
bool isRecording = await FlutterAudioRecorderPlugin.isRecording;
// Start recording
await FlutterAudioRecorderPlugin.start(path: _controller.text, audioOutputFormat: AudioOutputFormat.AAC);
// Stop recording
Recording recording = await FlutterAudioRecorderPlugin.stop();
print("Path : ${recording.path}, Format : ${recording.audioOutputFormat}, Duration : ${recording.duration}, Extension : ${recording.extension},");
For now, the plugin only use the AAC compression to encode audio. You can specify the extension of the output audio file in the file path that you give to the start method. The recognized extensions are :
- .m4a
- .mp4
- .aac
If the file path does not finish with these extensions, the ".m4a" extension is added by default.
The start method raise an exception if :
- A file already exists at the given file path
- The parent directory of the file path does not exist
For help getting started with Flutter, view our online documentation.
For help on editing plugin code, view the documentation.