Flutter (web-only at this moment) plugin for recording audio (using the microphone).

Related tags

Media microphone
Overview

Microphone GitHub stars Pub version Twitter Follow

Flutter (web-only at this moment) plugin for recording audio (using the microphone).

Getting started

To learn more about the plugin and getting started, you can view the main package (microphone) README.

Plugin structure

The microphone plugin uses the federated plugins approach.
For this plugin, it means that the basic API is defined using pigeon. The pigeon files can be found in the pigeons directory in the main package. The API is defined in Dart in the microphone_platform_interface package.
Furthermore, the Android and iOS implementations can be found in the main package, while the web implementation is in the microphone_web package.

The packages in this repo are the following:

Package Implementations
microphone Main plugin package
microphone_platform_interface Basic API definition & message handling
microphone_web Web implementation

Contributing

If you want to contribute to this plugin, follow the contributing guide.

Comments
  • i can't play the recorded audio on iOS

    i can't play the recorded audio on iOS

    when i try to record audio it work correct on both of web and android , but when i try to use it on iOS it doesn't wok i hope you help me this is the code that i use to store it in backend

    MultipartFile.fromBytes( 'audio.mp3', filename: webFileName, ) i also tried weba and oga but didn't work Thanks in advance

    opened by AbdullahGaber 9
  • Get Uint8List of url recording

    Get Uint8List of url recording

    Hey there, thanks for creating this library. I'm recording and after stopping want to upload my recording file as Uint8List. Is there any way to get and convert data to Uint8List?

    documentation enhancement question 
    opened by arefhosseini 5
  • Feature request: Blob access interface

    Feature request: Blob access interface

    Great work on this plugin.

    Would you like to add blob access interface to `MicrophoneRecording' ?
    As the following code shows, blob is not accessible currently.

      /// Stops the recorder and returns an URL pointing to the recording.
      Future<String> stop() async {
        assert(_mediaRecorder != null);
    
        final completer = Completer<String>();
    
        void onStop(_) {
          assert(_audioBlobParts != null);
    
          final blob = Blob(_audioBlobParts); // I want to access it!
          _audioBlobParts = null;
    
          completer.complete(Url.createObjectUrl(blob));
        }
    
        _mediaRecorder.addEventListener('stop', onStop);
        _mediaRecorder.stop();
        final url = await completer.future;
        _mediaRecorder.removeEventListener('stop', onStop);
    
        return url;
      }
    

    However, In similar to URL, I want to access blob for cooperation with FileReader or FormData.

    I'm quite newbie with Dart. So I really appreciate the help.

    Thanks.

    question 
    opened by stakemura 5
  • what format is the bytes array of audio

    what format is the bytes array of audio

    i am using nodejs backend and audio_loader module. I am passing the recorded toBytes() to backend and it makes the file of audio. I am able to play the audio with .m2a format on mac.

    But, audio_loader is rejecting the audio file with reason "Source is not valid". What is the format of audio the microphone plugin is generated? is there any headers included ?

    opened by expertmars 4
  • Iphone exception

    Iphone exception

    When use iphone simulator to run the example, it raised exception: PlatformException (PlatformException(channel-error, Unable to establish connection on channel., null, null))

    Is it a permission issue? How can I fix that, and how to set permission in Android environment

    opened by dannyxu2015 2
  • Feature request: Download audio to a mp3 file

    Feature request: Download audio to a mp3 file

    Great work on this plugin. However, was wondering on how to download the audio file?

    Currently it is playing from a url as such blob:http://localhost:51895/8dacf414-0785-4e32-b395-4c99abec8b64.

    enhancement 
    opened by happyharis 2
  • Stream bytes? | real-time audio

    Stream bytes? | real-time audio

    Any way to get the audio in real time? I'm creating an application that sends the audio to the server in real time, but I can't find related documentation

    opened by AndrusGerman 1
  • Started/stopped state of recording marked wrong

    Started/stopped state of recording marked wrong

    Looks like the internal logic of the MicrophoneRecorder prevents starting and stoping of the recorder multiple times over the same object. After some debugging I might have found the culprit for this: the copyWith method is setting wrong values.

    Future<void> start() async { 
         ...
         assert(!value.started, 'The recorder can only be started once.');
         ...          
    }
    

    this line will check if the recorder is already started by asserting the value.started value. On stop though, we have this:

    value = value.copyWith(
          stopped: true,
          recording: MicrophoneRecording(url: recording),
        );
    

    And the copyWith will assume the previous state of the started value (which in this case is true), so after stopping the object will look like this:

    MicrophoneRecorderValue(started: true, stopped: true, recording: true)

    for that reason the next time you execute recorder.start() the first mentioned assertion will fail (as value.started will still be set to true).

    There might be two solutions for this:

    1. Fix the copyWith so that in case of an null input value it does not default to this.started but rather to false.
    2. Make new instances of the MicrophoneRecorderValue instead of copying the originally created value.

    Hope this helps.

    opened by abalalovski 1
  • Still listening even if dispose is called??

    Still listening even if dispose is called??

    Hello!!

    First of all, thanks for the lib.

    I've discovered that the microphone is still in use even if call dispose.

    Is there any way to stop using the microphone??

    opened by sergiocasero 1
  • Implement ts-ebml to fix recorded audio on Chrome

    Implement ts-ebml to fix recorded audio on Chrome

    Description

    Tries to use https://github.com/guest271314/ts-ebml/blob/a7ec9ddd54c2ff7ae7c0d3656864d0388eda238b/lib/ts-ebml-min.js in order to fix https://github.com/ryanheise/just_audio/issues/218.

    opened by creativecreatorormaybenot 1
Releases(microphone_platform_interface-v0.0.1+2)
Owner
null
A Flutter audio-plugin to playing and recording sounds

medcorder_audio Flutter record/play audio plugin. Developed for Evrone.com Funded by Medcorder Medcorder.com Getting Started For help getting started

Evrone 106 Oct 29, 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 Input Mixer made in Flutter (UI only)

Audio Input Mixer UI Design in Flutter Audio Input Mixer made in Flutter (UI only) This project is an attempt to design a simple one screen Audio Mixe

Praharsh Bhatt 6 Jul 16, 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
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
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
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
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
Apps For streaming audio via url (Android, iOS & Web ). Developed with Dart & Flutter ❤

Flutter Sleep App (Dicoding Submission : Learn to Make Flutter Apps for Beginners) Stream Great collection of high-definition sounds that can be mixed

Utrodus Said Al Baqi 13 Nov 29, 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
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
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
A simple audio room using WebRTC P2P mesh network.

P2P Audio Room A simple audio room using peer to peer technology with WebRTC mesh network. Download the app from here Here I have used:- flutter_webrt

Krishnendu Bera 9 Oct 28, 2022
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
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
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
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