Flutter plugin that can support audio recording and level metering

Overview

flutter_audio_recorder

pub version Awesome Flutter

English | 简体中文

Flutter Audio Record Plugin that supports Record Pause Resume Stop and provide access to audio level metering properties average power peak power

Works for both Android and iOS

Code Samples:

Installation

add flutter_audio_recorder to your pubspec.yaml

iOS Permission

  1. Add usage description to plist
<key>NSMicrophoneUsageDescription</key>
<string>Can We Use Your Microphone Please</string>
  1. Then use hasPermission api to ask user for permission when needed

Android Permission

  1. Add uses-permission to ./android/app/src/main/AndroidManifest.xml in xml root level like below
    ...
    </application>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    ...
</manifest>
  1. Then use hasPermission api to ask user for permission when needed

Configuration

iOS Deployment Target is 8.0 above

Android

  • AndroidX: use latest version (0.5.x)
  • Legacy Android: use old version (0.4.9)

Usage

Recommended API Usage: hasPermission => init > start -> (pause <-> resume) * n -> stop, call init again before start another recording

Always check permission first(it will request permission if permission has not been set to true/false yet, otherwise it will return the result of recording permission)

bool hasPermission = await FlutterAudioRecorder.hasPermissions;

Initialize (run this before start, so we could check if file with given name already exists)

var recorder = FlutterAudioRecorder("file_path.mp4"); // .wav .aac .m4a
await recorder.initialized;

or

var recorder = FlutterAudioRecorder("file_path", audioFormat: AudioFormat.AAC); // or AudioFormat.WAV
await recorder.initialized;
Sample Rate
var recorder = FlutterAudioRecorder("file_path", audioFormat: AudioFormat.AAC, sampleRate: 22000); // sampleRate is 16000 by default
await recorder.initialized;
Audio Extension and Format Mapping
Audio Format Audio Extension List
AAC .m4a .aac .mp4
WAV .wav

Start recording

await recorder.start();
var recording = await recorder.current(channel: 0);

Get recording details

var current = await recording.current(channel: 0);
// print(current.status);

You could use a timer to access details every 50ms(simply cancel the timer when recording is done)

new Timer.periodic(tick, (Timer t) async {
        var current = await recording.current(channel: 0);
        // print(current.status);
        setState(() {
        });
      });
Recording
Name Description
path String
extension String
duration Duration
audioFormat AudioFormat
metering AudioMetering
status RecordingStatus
Recording.metering
Name Description
peakPower double
averagePower double
isMeteringEnabled bool
Recording.status

Unset,Initialized,Recording,Paused,Stopped

Pause

await recorder.pause();

Resume

await recorder.resume();

Stop (after stop, run init again to create another recording)

var result = await recorder.stop();
File file = widget.localFileSystem.file(result.path);

Example

Please check example app using Xcode.

Getting Started

This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Comments
  • Issue while compiling for Android

    Issue while compiling for Android

    Hi @nikli2009

    The plugin works flawlessly on iOS but it does not compile on Android for my app. The minSdkVersion in my app is 23 and the app has been migrated to support AndroidX

    android.useAndroidX=true
    android.enableJetifier=true
    

    My Flutter version is 1.9.1+hotfix.6

    The error that I got while compiling the app on Android was this:

    /Users/iNima/.pub-cache/hosted/pub.dartlang.org/flutter_audio_recorder-0.4.8/android/src/main/java/com/zeno/flutter_audio_recorder/FlutterAudioRecorderPlugin.java:10: error: cannot find symbol
    import android.support.v4.app.ActivityCompat;
                                 ^
      symbol:   class ActivityCompat
      location: package android.support.v4.app
    /Users/iNima/.pub-cache/hosted/pub.dartlang.org/flutter_audio_recorder-0.4.8/android/src/main/java/com/zeno/flutter_audio_recorder/FlutterAudioRecorderPlugin.java:11: error: package android.support.v4.content does not exist
    import android.support.v4.content.ContextCompat;
                                     ^
    /Users/iNima/.pub-cache/hosted/pub.dartlang.org/flutter_audio_recorder-0.4.8/android/src/main/java/com/zeno/flutter_audio_recorder/FlutterAudioRecorderPlugin.java:62: error: cannot find symbol
        return ContextCompat.checkSelfPermission(registrar.context(), Manifest.permission.RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED;
               ^
      symbol:   variable ContextCompat
      location: class FlutterAudioRecorderPlugin
    /Users/iNima/.pub-cache/hosted/pub.dartlang.org/flutter_audio_recorder-0.4.8/android/src/main/java/com/zeno/flutter_audio_recorder/FlutterAudioRecorderPlugin.java:104: error: cannot find symbol
        ActivityCompat.requestPermissions(registrar.activity(), new String[]{Manifest.permission.RECORD_AUDIO}, MY_PERMISSIONS_REQUEST_RECORD_AUDIO);
        ^
      symbol:   variable ActivityCompat
      location: class FlutterAudioRecorderPlugin
    4 errors
    *******************************************************************************************
    The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
    See https://goo.gl/CP92wY for more information on the problem and how to fix it.
    *******************************************************************************************
    

    Could you please check this issue as well? Thanks Nima

    android-x-support 
    opened by iNima 5
  • Error while running Pod install

    Error while running Pod install

    Hi there and thanks for sharing this plugin with the community.

    I'd like to use this plugin in both iOS and Android but when I run pod install for the iOS I receive this error:

    - `flutter_audio_recorder` does not specify a Swift version and none of the targets (`Runner`) integrating it has the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.
    

    I think you need to add the SWIFT_VERSION in your podspec file. For example, the current SWIFT_VERSION in my app is 4.2

    Could you please check this and modify your code?

    opened by iNima 5
  • Recorder stops recieving audio if the screen is off and exceeds memory limit [Android]

    Recorder stops recieving audio if the screen is off and exceeds memory limit [Android]

    When the screen turns off, the memory usage sets to 10mb, and then goes up to the maximum, then stops to record audio. Just for info, I'm using audioFormat: AudioFormat.WAV, sampleRate: 44100

    1. The memory usage when the screen is on (works fine) image
    2. The memory usage when the scree is off image
    3. Flutter doctor output
    Doctor summary (to see all details, run flutter doctor -v):
    [√] Flutter (Channel stable, 1.22.1, on Microsoft Windows [Version 10.0.19041.208], locale ru-RU)
    
    [√] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc4)
    [√] Android Studio (version 4.0)
    [√] Connected device (1 available)
    
    • No issues found!
    
    
    opened by Maksim-Nikolaev 2
  • Using Audio.network and Audio.file together

    Using Audio.network and Audio.file together

    I try to use them together but I couldn't. I can use only Audio.network and there is no problem. I can listen audios from network. When I listen an audio from file, I can listen it one time but then if I want to listen audio from network or file, I can not listen it :( How can I solve this problem?

    opened by mehmetext 2
  • On Android using camera plugin and audio recorder cause permission issue and crash for the first launch

    On Android using camera plugin and audio recorder cause permission issue and crash for the first launch

    Hi there,

    I added the required permission in the AndroidManifest file but in my app I'm also using the camera plugin. So, as soon as the camera is initiated it askes two permissions. 1- access to camera 2- access to audio recording via mic

    When I allow permission the app crashes. It happens even when I don't use flutter_audio_recorder at all, only adding the plugin in the pubspec.yaml is enough to see this exception when we allow permissions:

    E/AndroidRuntime(17775): java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=9796, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {....MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
    E/AndroidRuntime(17775): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4398)
    E/AndroidRuntime(17775): 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4440)
    E/AndroidRuntime(17775): 	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
    E/AndroidRuntime(17775): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    E/AndroidRuntime(17775): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    E/AndroidRuntime(17775): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
    E/AndroidRuntime(17775): 	at android.os.Handler.dispatchMessage(Handler.java:106)
    E/AndroidRuntime(17775): 	at android.os.Looper.loop(Looper.java:193)
    E/AndroidRuntime(17775): 	at android.app.ActivityThread.main(ActivityThread.java:6718)
    E/AndroidRuntime(17775): 	at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(17775): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    E/AndroidRuntime(17775): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
    E/AndroidRuntime(17775): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
    E/AndroidRuntime(17775): 	at com.zeno.flutter_audio_recorder.FlutterAudioRecorderPlugin.onRequestPermissionsResult(FlutterAudioRecorderPlugin.java:82)
    E/AndroidRuntime(17775): 	at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:194)
    E/AndroidRuntime(17775): 	at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:127)
    E/AndroidRuntime(17775): 	at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:137)
    E/AndroidRuntime(17775): 	at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7616)
    E/AndroidRuntime(17775): 	at android.app.Activity.dispatchActivityResult(Activity.java:7466)
    E/AndroidRuntime(17775): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4391)
    E/AndroidRuntime(17775): 	... 11 more
    

    I don't know why the crash happens in com.zeno.flutter_audio_recorder.FlutterAudioRecorderPlugin.onRequestPermissionsResult(FlutterAudioRecorderPlugin.java:82) although I didn't even import it in my class file!

    (It works correctly on iOS by the way)

    opened by iNima 2
  • The result return from stop() does not have `duration` value

    The result return from stop() does not have `duration` value

    Hi there,

    When I stop the audio recording I expect to receive the total duration of the recorded audio in the duration parameter of the result. var result = await this.audioRecorder.stop(); But the duration of the result is always 0.

    Currently, a workaround for this would be this:

    Recording recording = await this.audioRecorder.current();
    Duration duration = recording.duration;
    var result = await this.audioRecorder.stop();
    

    Which is probably not that accurate since it is a little bit before actually stopping the recorder.

    Could you provide the correct duration in the result of stop() method as well?

    new release 
    opened by iNima 2
  • Sample rate shouldn't be a mandatory parameter

    Sample rate shouldn't be a mandatory parameter

    Hi there,

    Based on the document the sample rate shouldn't be a mandatory field but in an AndroidX enabled project when I don't set sampleRate I receive this error message:

    D/AndroidAudioRecorder(16785): handleHasPermission true
    E/MethodChannel#flutter_audio_recorder(16785): Failed to handle method call
    E/MethodChannel#flutter_audio_recorder(16785): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
    E/MethodChannel#flutter_audio_recorder(16785): 	at com.zeno.flutter_audio_recorder.FlutterAudioRecorderPlugin.handleInit(FlutterAudioRecorderPlugin.java:146)
    E/MethodChannel#flutter_audio_recorder(16785): 	at com.zeno.flutter_audio_recorder.FlutterAudioRecorderPlugin.onMethodCall(FlutterAudioRecorderPlugin.java:105)
    E/MethodChannel#flutter_audio_recorder(16785): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
    E/MethodChannel#flutter_audio_recorder(16785): 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
    E/MethodChannel#flutter_audio_recorder(16785): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:656)
    E/MethodChannel#flutter_audio_recorder(16785): 	at android.os.MessageQueue.nativePollOnce(Native Method)
    E/MethodChannel#flutter_audio_recorder(16785): 	at android.os.MessageQueue.next(MessageQueue.java:323)
    E/MethodChannel#flutter_audio_recorder(16785): 	at android.os.Looper.loop(Looper.java:136)
    E/MethodChannel#flutter_audio_recorder(16785): 	at android.app.ActivityThread.main(ActivityThread.java:6692)
    E/MethodChannel#flutter_audio_recorder(16785): 	at java.lang.reflect.Method.invoke(Native Method)
    E/MethodChannel#flutter_audio_recorder(16785): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
    E/MethodChannel#flutter_audio_recorder(16785): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
    E/flutter (16785): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference, null)
    E/flutter (16785): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
    E/flutter (16785): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
    E/flutter (16785): <asynchronous suspension>
    E/flutter (16785): #2      FlutterAudioRecorder._init (package:flutter_audio_recorder/flutter_audio_recorder.dart:69:33)
    E/flutter (16785): <asynchronous suspension>
    E/flutter (16785): #3      new FlutterAudioRecorder (package:flutter_audio_recorder/flutter_audio_recorder.dart:25:21)
    

    I use the plugin version v0.5.2.

    new release 
    opened by iNima 2
  • iOS Build Error on Physical Device

    iOS Build Error on Physical Device

    Unable to build on physical iOS device. Builds fine on simulator.

    Target iPad Pro 13.3.

    Runner[10594:3155185] Metal API Validation Enabled
    Runner[10594:3155185] [VERBOSE-2:dart_vm_data.cc(18)] VM snapshot invalid and could not be inferred from settings.
    Runner[10594:3155185] [VERBOSE-2:dart_vm.cc(248)] Could not setup VM data to bootstrap the VM from.
    Runner[10594:3155185] [VERBOSE-2:dart_vm_lifecycle.cc(84)] Could not create Dart VM instance.
    Runner[10594:3155185] [VERBOSE-3:shell.cc(268)] Check failed: vm. Must be able to initialize the VM.
    

    What could be the cause of the error?

    opened by searchy2 1
  • Crash on iOS

    Crash on iOS

    Because of this line await FlutterAudioRecorder.hasPermissions; i got message

    Lost connection to device.
    Exited (sigterm)
    

    flutter doctor

    [✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.15.3 19D76, locale ru-RU)
        • Flutter version 1.12.13+hotfix.8 at /Users/rtviwe/flutter
        • Framework revision 0b8abb4724 (3 weeks ago), 2020-02-11 11:44:36 -0800
        • Engine revision e1e6ced81d
        • Dart version 2.7.0
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
        • Android SDK at /Users/rtviwe/Library/Android/sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-R, build-tools 29.0.3
        • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 11.3.1, Build version 11C504
        • CocoaPods version 1.9.0
    
    [!] Android Studio (version 3.6)
        • Android Studio at /Applications/Android Studio.app/Contents
        ✗ Flutter plugin not installed; this adds Flutter specific functionality.
        ✗ Dart plugin not installed; this adds Dart specific functionality.
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    
    [✓] VS Code (version 1.42.1)
        • VS Code at /Users/rtviwe/Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.8.1
    
    [✓] Connected device (1 available)
        • iPhone 11 Pro Max • 3A1F1D44-50B9-4CDF-BF7B-4E74FFAD107C • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
    
    ! Doctor found issues in 1 category.
    
    opened by rtviwe 1
  • fatal error: 'flutter_audio_recorder/flutter_audio_recorder-Swift.h' file not found

    fatal error: 'flutter_audio_recorder/flutter_audio_recorder-Swift.h' file not found

    fatal error: 'flutter_audio_recorder/flutter_audio_recorder-Swift.h' file not found #import <flutter_audio_recorder/flutter_audio_recorder-Swift.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated.

    environment: Xcode11.3.1 Flutter 1.12.13+hotfix.5 • channel stable

    opened by Qson8 0
  • uses a deprecated version

    uses a deprecated version

    The plugin flutter_audio_recorder uses a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.

    opened by Reinoal 1
  • Android crashes

    Android crashes

    App crashes after granting android permissions.

    permissions;

    bug; D/AndroidAudioRecorder(19142): parsing result D/AndroidAudioRecorder(19142): onRequestPermissionsResult -true D/AndroidRuntime(19142): Shutting down VM I/QarthLog(19142): [PatchStore] createDisableExceptionQarthFile I/QarthLog(19142): [PatchStore] create disable file for com.spott.spott uid is 10259 E/AndroidRuntime(19142): FATAL EXCEPTION: main E/AndroidRuntime(19142): Process: com.spott.spott, PID: 19142 E/AndroidRuntime(19142): java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=200, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.spott.spott/com.spott.spott.MainActivity}: java.lang.IllegalStateException: Reply already submitted E/AndroidRuntime(19142): at android.app.ActivityThread.deliverResults(ActivityThread.java:5471) E/AndroidRuntime(19142): at android.app.ActivityThread.handleSendResult(ActivityThread.java:5512) E/AndroidRuntime(19142): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) E/AndroidRuntime(19142): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149) E/AndroidRuntime(19142): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103) E/AndroidRuntime(19142): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2386) E/AndroidRuntime(19142): at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime(19142): at android.os.Looper.loop(Looper.java:213) E/AndroidRuntime(19142): at android.app.ActivityThread.main(ActivityThread.java:8178) E/AndroidRuntime(19142): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(19142): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) E/AndroidRuntime(19142): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101) E/AndroidRuntime(19142): Caused by: java.lang.IllegalStateException: Reply already submitted E/AndroidRuntime(19142): at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:155) E/AndroidRuntime(19142): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:238) E/AndroidRuntime(19142): at com.zeno.flutter_audio_recorder.FlutterAudioRecorderPlugin.onRequestPermissionsResult(FlutterAudioRecorderPlugin.java:79) E/AndroidRuntime(19142): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onRequestPermissionsResult(FlutterEngineConnectionRegistry.java:712) E/AndroidRuntime(19142): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onRequestPermissionsResult(FlutterEngineConnectionRegistry.java:412) E/AndroidRuntime(19142): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onRequestPermissionsResult(FlutterActivityAndFragmentDelegate.java:627) E/AndroidRuntime(19142): at io.flutter.embedding.android.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:648) E/AndroidRuntime(19142): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8567) E/AndroidRuntime(19142): at android.app.Activity.dispatchActivityResult(Activity.java:8417) E/AndroidRuntime(19142): at android.app.ActivityThread.deliverResults(ActivityThread.java:5464) E/AndroidRuntime(19142): ... 11 more I/Process (19142): Sending signal. PID: 19142 SIG: 9 Lost connection to device.

    opened by gizemgizg 0
  • extra files getting stored in IOS version

    extra files getting stored in IOS version

    Hello the code is working fine in android but when I try to run it on ios simulator I find many files being saved when the recorder _init() function is called in the super.init(). Know any reason why this might be happening?

    opened by krish97git 0
Owner
RMBR ONE
RMBR ONE
Flutter (web-only at this moment) plugin for recording audio (using the microphone).

Microphone Flutter (web-only at this moment) plugin for recording audio (using the microphone). Getting started To learn more about the plugin and get

null 28 Sep 26, 2022
A cross-platform mobile app that helps you to generate transcripts either from a voice recording or by uploading an audio file

A cross-platform mobile app that helps you to generate transcripts either from a voice recording or by uploading an audio file

Souvik Biswas 26 Dec 18, 2022
A Flutter audio plugin (Swift/Java) to play remote or local audio files on iOS / Android / MacOS and Web

AudioPlayer A Flutter audio plugin (Swift/Java) to play remote or local audio files on iOS / Android / MacOS and Web. Online demo Features Android / i

Erick Ghaumez 489 Dec 18, 2022
Audio Recorder Jordan AlcarazAudio Recorder [156⭐] - Record audio and store it locally by Jordan Alcaraz.

Audio recorder Record audio and store it locally Usage To use this plugin, add audio_recorder as a dependency in your pubspec.yaml file. Android Make

Jordan Alcaraz 172 Jan 4, 2023
Chipkizi - a recording app for up and coming artists

Chipkizi Chipkizi is a recorder app for vocal artists. Chipkizi allows vocal artists the likes of singers, poets, musicians, spoken word artists, moti

Sean 25 Nov 1, 2021
WaVe - an audio streaming platform which gives the best user experience without any compromise in the audio quality

WaVe is an audio streaming platform which gives the best user experience without any compromise in the audio quality, and there is even space for the users to explore their creativity. And makes it more efficient with the AI features.

OmarFayadhd 1 May 31, 2022
Virlow Flutter Recorder - an open-source Flutter application that can transcribe recorded audio

The Virlow Flutter Recorder is an open-source Flutter application that can transcribe recorded audio, plus it includes TL;DR and Short Hand Notes for your transcription. It also consists of a rich text editor that allows you to edit the transcription plus add any additional notes you require.

null 12 Dec 26, 2022
Flutter plugin for sound. Audio recorder and player.

Flutter Sound user: your documentation is there The CHANGELOG file is here Overview Flutter Sound is a Flutter package allowing you to play and record

null 764 Jan 2, 2023
Flutter plugin for sound. Audio recorder and player.

Sounds Sounds is a Flutter package allowing you to play and record audio for both the android and ios platforms. Sounds provides both a high level API

Brett Sutton 75 Dec 8, 2022
Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories.

ImageEditorPro Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories. To start w

Zeeshan 206 Dec 2, 2022
Simple plugin to implement Picture in Picture support for Android only.

flutter_pip Simple plugin to implement Picture in Picture support for Android only. Android Setup You need to declare that your app supports Picture i

null 0 Dec 22, 2021
Official Flutter SDK for LiveKit. Easily add real-time video and audio to your Flutter apps.

LiveKit Flutter SDK Official Flutter SDK for LiveKit. Easily add real-time video and audio to your Flutter apps. This package is published to pub.dev

LiveKit 116 Dec 14, 2022
A Flutter package for both android and iOS which provides Audio recorder

social_media_recorder A Flutter package for both android and iOS which provides

subhikhalifeh 16 Dec 29, 2022
Music Player app made with Just audio library and Local database Hive.

Music Player app made with Just audio library and Local database Hive. Find the free and Royelty music with Happy Rock application. The app contains information about singers and you can make your own playlist with Songs.Happy rock App's features are same as the real music app like spotify, amazon music etc.

Ansh rathod 17 Dec 22, 2022
Just_audio: a feature-rich audio player for Android, iOS, macOS and web

just_audio just_audio is a feature-rich audio player for Android, iOS, macOS and web. Mixing and matching audio plugins The flutter plugin ecosystem c

Ensar Yusuf Yılmaz 2 Jun 28, 2022
A opensource, minimal and powerful audio player for android

A opensource, minimal and powerful audio player for android

Milad 7 Nov 2, 2022
Audio player app in Flutter. Created as a tutorial for learning Flutter.

Music Player: create a simple Flutter music player app This is a Flutter project used during a series of articles on I should go to sleep. License Cop

Michele Volpato 11 May 5, 2022
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications

?? assets_audio_player ?? Play music/audio stored in assets files (simultaneously) directly from Flutter (android / ios / web / macos). You can also u

Florent CHAMPIGNY 651 Dec 24, 2022
A feature-packed audio recorder app built using Flutter

Qoohoo Submission ??️ An audio recording/playing app. ??️ This is a basic audio

Akshay Maurya 24 Dec 22, 2022