A Flutter Audio Plugin to Play Audio Files

You are currently viewing A Flutter Audio Plugin to Play Audio Files
Audio Player Plugin

A Flutter Audio Plugin to Play Audio Files

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

Features

  •  Android / iOS / MacOS / Web
    •  play remote file
    •  play local file ( not for the web)
    •  stop
    •  pause
    •  onComplete
    •  onDuration / onCurrentPosition
    •  seek
    •  mute
Audio Player Plugin
Audio Player Plugin

Usage

To use this plugin :

  dependencies:
    flutter:
      sdk: flutter
    audioplayer: 0.8.1
    audioplayer_web: 0.7.1
  • Instantiate an AudioPlayer instance
//...
AudioPlayer audioPlugin = AudioPlayer();
//...

Player Controls

audioPlayer.play(url);

audioPlayer.pause();

audioPlayer.stop();

Status and current position

The dart part of the plugin listen for platform calls :

//...
_positionSubscription = audioPlayer.onAudioPositionChanged.listen(
  (p) => setState(() => position = p)
);

_audioPlayerStateSubscription = audioPlayer.onPlayerStateChanged.listen((s) {
  if (s == AudioPlayerState.PLAYING) {
    setState(() => duration = audioPlayer.duration);
  } else if (s == AudioPlayerState.STOPPED) {
    onComplete();
    setState(() {
      position = duration;
    });
  }
}, onError: (msg) {
  setState(() {
    playerState = PlayerState.stopped;
    duration = new Duration(seconds: 0);
    position = new Duration(seconds: 0);
  });
});

Do not forget to cancel all the subscriptions when the widget is disposed.

See also  Flutter Audio Recorder Plugin Integration Example

iOS

⚠️ iOS App Transport Security

By default iOS forbids loading from non-https url. To cancel this restriction edit your .plist and add :

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Background mode

cf. enable background audio

MacOS

Add this to entitlements files ( cf. DebugProfile.entitlements )

    <key>com.apple.security.network.client</key>
    <true/>

cf. Flutter MacOS security

Troubleshooting

  • If you get a MissingPluginException, try to flutter build apk on Android, or flutter build ios

Getting Started with Flutter

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

See also  Wraps around your existing audio allow it to run in the background with flutter

For help on editing plugin code, view the documentation.

Credit

This is developed by rxlabz
Download this project from the below link.
https://github.com/rxlabz/audioplayer/archive/refs/heads/master.zip
You can visit original source page from the below link:
https://github.com/rxlabz/audioplayer

Spread the love

Leave a Reply