Flutter Sound
This plugin provides simple recorder and player functionalities for both Android and iOS platforms.
Features
Play and Record sounds or music with various codecs. (See the supported codecs here)
Play local or remote files specified by their URL.
The App playback can be controled from the device lock screen or from an Apple watch
Handle playback stream from native (To sync exact time with bridging). [Not sure to understand what it means!]
Flutter Sound branches
We actually maintain two branches for Flutter Sound :
The V4 branch (the version ^4.0.0)
The master branch (actually the version ^5.0.0)
We do not expect that everybody will switch today from 4.x.x to 5.x.x.
V4 is our stable branch, and will be maintained as long as everybody will not have switch to V5 : in other words V4 is our LTS version (Long Term Support).
Migration Guides
To migrate to 4.x.x from 3.x.x you must do some minor changes in your configurations files.
To migrate to 5.x.x from 4.x.x you must do a few changes in your App.
Free Read
Medium Blog. [This link is probably obsolete!]
SDK requirements
Flutter Sound requires an iOS 9.3 SDK (or later)
Flutter Sound requires an Android 24 (or later)
Installation
Here is a guide for Flutter Sound installation
Flutter Sound API
Flutter Sound is composed with 4 modules :
FlutterSoundPlayer, wich deal with everything about playbacks
FlutterSoudRecorder, which deal with everything about recording
FlutterSoundHelper, which offers some convenients tools
FlutterSoundUI, which offer some Widget ready to be used out of the box
To use Flutter Sound you just do :
import 'package:flutter_sound/flutter_sound.dart';
This will export all the necessaries dart interfaces.
Examples (Demo Apps)
Flutter Sound comes with two Demo/Examples :
Demo1 app is a small demonstration of what we can do with Flutter Sound. This Demo App is a kind of exerciser which try to implement the major Flutter Sound features. This Demo does not use the Flutter Sound UI Widgets
Demo2 app is an example of what can be done using the Flutter Sound UI Widgets
License
Flutter Sound is copyrighted by Dooboolab (2018, 2019, 2020) Flutter Sound is released under a license with a copyleft clause: the LGPL-V3 license. This means that if you modify some of Flutter Sound code you must be publish your modifications under the LGPL license too.
Contributions
Flutter Sound is a free and Open Source project. Several contributors have already contributed to Flutter Sound. Specially :
@hyochan who is the Flutter Sound father
@salvatore373 who wrote the Track Player
@bsutton who wrote the UI Widgets
@larpoux who add several codec supports
We really need your contributions. Pull Requests are welcome and will be considered very carefully.
Bugs, Features Requests, documentation inaccurate, help needed, ...
We use Github actively.
When you fill an issue, we try to answer something in less than 48h. Of course, this will not mean that your issue will be fixed in 48h. But you will know that we confirm (or not) your issue and what answer you can expect. Maintenance is our priority. We try to make it perfect.
TODO
Record and playback raw PCM both on Android and iOS
Record OPUS on Android
Record MP3 both on Android and iOS
Record raw PCM to a Dart Stream instead of a file
Playback raw PCM from a Dart Stream instead of a file
Streaming records to Speech to Text
More support for the Apple Watch
Tests unit to avoid any regression
Flutter Web App support
Flutter Sound port to React Native
Better UI Widget
Lock screen control between two sounds.
Help Maintenance
My friend Hyo has been maintaining quite many repos these days and he is burning out slowly. If you could help him cheer up, buy him a cup of coffee will make his life really happy and get much energy out of it. As a side effect, we will know that Flutter Sound is important for you, that you appreciate our job and that you can show it with a little money.