Music Player

The easy way to play music in Flutter.

universe

Getting Started

Add dependency to your flutter project:

$ flutter pub add music

or

dependencies:
  music: ^1.0.2

Then run flutter pub get.

Permissions

For android, set minSdkVersion at your android/app/build.gradle to 21. Then add permissions to your AndroidManifest.xml.

<manifest xmlns:android...>
  ...
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.WAKE_LOCK" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
      android:maxSdkVersion="28"
      tools:ignore="ScopedStorage"/>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
  <application ...
</manifest>

Add service and receiver to AndroidManifest.xml.

<manifest xmlns:android...>
  ...
  <application ...>
    <service 
      android:name="com.salkuadrat.music.MusicPlayerService" 
      android:enabled="true"
      android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON"/>
      </intent-filter>
    </service>
    <receiver android:name="androidx.media.session.MediaButtonReceiver">
      <intent-filter>
        <action android:name="android.intent.action.MEDIA_BUTTON"/>
      </intent-filter>
    </receiver>
  </application>
</manifest>

Usage

import 'package:music/music.dart';

Initialize the player and music item.

MusicPlayer player = MusicPlayer(
  onLoading: _onLoading,
  onPlaying: _onPlaying,
  onPaused: _onPaused,
  onStopped: _onStopped,
  onCompleted: _onCompleted,
  onDuration: _onDuration,
  onPosition: _onPosition,
  onError: _onError,
);

Music music = Music(
  id: '_KzHGbpxMOY',
  artist: '88rising',
  title: 'Rich Brian, NIKI, & Warren Hue - California',
  image: 'https://i.ytimg.com/vi/_KzHGbpxMOY/mqdefault.jpg',
  url: 'https://media1.vocaroo.com/mp3/1ga9focwkrUs',
  duration: Duration(seconds: 230),
);

Start playing.

player.play(music);

Pause the music.

player.pause();

Resume the current playing music.

player.resume();

Stop playing.

player.stop();

Example

Learn more from example project here. Also, you can learn the code while running the example application on device: music.apk.

Libraries

music