Search packages, repositories and app categories

Package detailsv1.0.2

audio_recorder

A Flutter plugin to record audio.

30-day downloads
1K
Likes
79
Pub points
15

Install package

flutter pub add audio_recorder

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter plugin designed to enable audio recording functionality in mobile applications. It provides a straightforward interface for starting, stopping, and managing audio recordings on supported platforms. The plugin is ideal for apps requiring voice notes, podcast creation, or voice-based interactions. It integrates seamlessly with Flutter's ecosystem and supports common audio formats. Developers can access recorded files through file paths returned by the plugin.

Use cases

  • Voice note applications
  • Podcast recording tools
  • Speech-to-text integrations
  • Interactive voice features
  • Audio logging

Key features

  • Simple start/stop recording API
  • File path return for recorded audio
  • Cross-platform audio capture
  • Supports common audio formats
  • Easy integration with Flutter

Suitable for

  • Mobile app developers
  • Voice-enabled applications
  • Educational tools
  • Content creation apps
  • Accessibility features

Considerations

  • Requires runtime permissions on Android and iOS
  • Limited to device-supported audio formats
  • No built-in audio playback
  • Platform-specific configuration may be needed
  • File management responsibility lies with the developer

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Audio recorder

pub package Build Status Coverage Status

Record audio and store it locally

Usage

To use this plugin, add audio_recorder as a dependency in your pubspec.yaml file.

Android

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" />
iOS

Make sure you add the following key to Info.plist for iOS

<key>NSMicrophoneUsageDescription</key>
<string>Record audio for playback</string>

Example

// Import package
import 'package:audio_recorder/audio_recorder.dart';

// Check permissions before starting
bool hasPermissions = await AudioRecorder.hasPermissions;

// Get the state of the recorder
bool isRecording = await AudioRecorder.isRecording;

// Start recording
await AudioRecorder.start(path: _controller.text, audioOutputFormat: AudioOutputFormat.AAC);

// Stop recording
Recording recording = await AudioRecorder.stop();
print("Path : ${recording.path},  Format : ${recording.audioOutputFormat},  Duration : ${recording.duration},  Extension : ${recording.extension},");

Encoding format

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.

Exceptions

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

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.