simple_audio 2.0.6
simple_audio: ^2.0.6 copied to clipboard
A simple cross-platform solution for playing audio in Flutter.
Simple Audio #
A cross-platform solution for playing audio in Flutter.
This project's goal is to be as simple as possible, meaning it offers the core functionality only (ex. play/pause). It also aims to be stable and relatively bug free.
I created this plugin for my music app so that I don't have to use different packages for different platforms (audio_service, dart_vlc). This made it hard to deal with bugs from different packages.
Features #
- Simple API
- Cross platform (Android, Linux, Windows, iOS, macOS)
- Playback of local and online resources
- Gapless playback and preloading
- Volume normalization
Documentation #
The documentation is hosted by pub.dev. You can find it here.
Usage #
- Add this plugin as a dependency in
pubspec.yaml - Follow the setup steps.
- Call
SimpleAudio.init()inmain()(see below). - Instantiate a
SimpleAudioobject in your player controller (see below). - Use the APIs provided in the instantiated object (see below).
An example player project is located here.
Initialization #
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await SimpleAudio.init();
runApp(const MyApp());
}
Create Player #
final SimpleAudio player = SimpleAudio(shouldNormalizeVolume: false);
Open and Play #
player.playbackState.listen((state) => print(state));
player.progressState.listen((state) => print(state));
// Autoplays by default
player.open(path);
Setup #
Some platform specific things have to be set up in order for this plugin to function properly.
Windows, Linux, macOS, Android #
No setup is needed.
iOS #
You will have to add a dependency to your Xcode project.
- Open
Runner.xcworkspacein theiosfolder. - At the top of your project hierarchy view, select the
Runnerproject. - Select the
Runnertarget, go to theGeneraltab and scroll down until you seeFrameworks, Libraries, Embedded Content - Press the
+icon and add theAudioToolbox.frameworkframework. SelectDo Not Embedunder theEmbedcolumn.
Special Thanks #
- sanihaq - Reported multiple bugs in
simple_audio's first releases. These bugs would not have been fixed for a long time without their help.