Package selection guidance compiled from public package information, community data, and project usage.
Audio Manager is a Flutter plugin designed for seamless music playback across Android, iOS, and Web platforms. It provides robust audio handling with built-in support for media notifications, enabling users to control playback directly from the system's notification shade. The package simplifies integration of background audio, track metadata display, and playback controls in music applications. With a focus on cross-platform consistency, it ensures a smooth user experience regardless of device. It is ideal for developers building audio-centric apps such as music players or podcast listeners.
Use cases
Music player development
Podcast app integration
Background audio playback
Media notification management
Cross-platform audio control
Key features
Built-in media notifications
Cross-platform support (Android, iOS, Web)
Background audio playback
Track metadata handling
Simple API for playback control
Suitable for
Developers building music apps
Apps requiring background audio
Projects needing system notifications
Cross-platform audio solutions
Podcast or audio streaming apps
Considerations
Requires platform-specific configuration
Limited customization for notification design
Depends on external audio sources
May need additional permissions on some platforms
Web support may have limited features compared to mobile
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
audio_manager
A Flutter plugin for music playback, notification handling, lock-screen controls, and desktop system media controls.
Screenshots
Android
iOS
macOS
Supported platforms
Platform
Playback / integration
iOS
AVPlayer + lock screen / Control Center
Android
MediaPlayer + MediaSession notification
macOS
AVPlayer + Now Playing / Control Center
Windows
Windows.Media.Playback + SMTC
Linux
GStreamer + MPRIS
Web
HTMLAudioElement
Installation
Add the dependency to pubspec.yaml:
dependencies:audio_manager:^1.0.0
iOS
The plugin supports both CocoaPods and Swift Package Manager (SPM) on iOS. Flutter 3.24+ integrates it via SPM automatically; otherwise it falls back to CocoaPods.
Add the following permissions in the info.plist file
⚠️ Some methods are invalid in the simulator, please use the real machine
⚠️ Only add UIBackgroundModes -> audio when your app really keeps playing audio in the background. If the app does not provide background audio, App Store review may reject it with guideline 2.5.4.
Android
Since Android9.0 (API 28), the application disables HTTP plaintext requests by default. To allow requests, add android:usesCleartextTraffic="true" in AndroidManifest.xml
⚠️ Android minimum supported version 23 (app/build.gradle -> minSdkVersion: 23)
⚠️ Compile against Android SDK 34 or newer when targeting Android 12+ apps. The plugin now requires explicit PendingIntent flags, a media playback foreground service type, and Android 13+ receiver export flags.
⚠️ Android notification and lock-screen controls use MediaSession / MediaStyle. Custom notification icons and full custom layouts are not exposed by the public API.
Desktop (macOS / Windows / Linux)
Desktop playback integrates with the system media controls: macOS Now Playing / Control Center, Windows SMTC (taskbar media flyout), and Linux MPRIS.
macOS: to stream network audio, add the com.apple.security.network.client entitlement to the app's entitlements files (DebugProfile.entitlements / Release.entitlements):