NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #327 most downloaded on pub.dev
A feature-rich audio player for Flutter. Loop, clip and sequence any sound from any source (asset/file/URL/stream) in gapless playlists.
Last release 3 months ago
29 Jun 2026
Ships unpredictably
gaps range from 1 weeks to 10 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
124 releases · first in 2019
Migrate Android build files to .kts
Deprecate androidOffloadSchedulingEnabled.
One column per quarter.
Fix initial seek values on subsequent loads (@Abestanis).
Fix pending timers bug in unit tests.
Fix playing/playbackEvent emission order.
Fix unhandled PlayerInterruptedException.
Deprecate ConcatenatingAudioSource - use playlist API instead.
* Fix SwiftPM support on macOS.
Add setWebSinkId for web (@dganzella).
* Add support for SwiftPM.
Migrate to media3 ExoPlayer 1.4.1 on Android (@hansvdwd and @ryanheise).
Fix dealloc crash on iOS/macOS (@cristian1980).
Fix stop() to cause play() to return on iOS.
* Fix JDK 21 compile error.
Apply preferPreciseDurationAndTiming to files (@canxin121).
Add AudioPlayer.setWebCrossOrigin for CORS on web (@danielwinkler).
Support useLazyPreparation on iOS/macOS.
Add setAllowsExternalPlayback on iOS/macOS.
Fix nullable completer argument type (@srawlins).
Support AGP 8 (@josephcrowell).
Update minimum flutter version to 3.0.
Fix ignored tag parameter in AudioSource.asset().
Add a package parameter to AudioPlayer.setAsset() (@ewertonls).
Fix bug using headers with LockCachingAudioSource.
Fix bug in ConcatenatingAudioSource.clear().
Recursively apply headers to HLS fragments.
Support offload scheduling on Android.
Auto-correct invalid HTTP headers in proxy.
Fix compile issue with Android SDK 33.
Bump Android compileSdkVersion to 31.
Fallback to constant bitrate seeking on Android.
Migrate to Flutter 3, Xcode 13, ExoPlayer 2.17.1.
Handle and report network disconnections in StreamAudioSource.
Fix initial position on iOS/macOS when switching sources (@addie9000).
Dispose players on iOS/macOS hot restart.
Fix null duration bug on LockCachingAudioSource.
LockCachingAudioSource works with servers not supporting range requests.
Fix pubspec declaration for Linux/Windows implementation.
Fix bug initialising proxy on ConcatenatingAudioSource.add.
Fix bug when pausing/stopping quickly after play.
Fix MIME type in LockCachingAudioSource.
Windows/Linux support (@bdlukaa, credit to @alexmercerind for libwinmedia).
Upgrade Android to ExoPlayer 2.15.0.
Fix Android bug playing after stopping.
Fix web bug adding/removing items while paused.
Fix bug restoring AndroidEqualizer state after stop.
Change == parameter from dynamic to Object (@cedvdb).
Fix iOS 12.4 LockCachingAudioSource fetch exception (@akindone).
LockCachingAudioSource fetch exception (@akindone).Fix iOS/macOS bug updating shuffle order.
Remember position after stop().
Fix bug when updating playlist before loading.
Fix Android bug when loading empty playlist.
Fix iOS/macOS bug when setting volume before load.
Update to support just_audio_background.
Fix update position bug on Android.
Add buffer options via AudioLoadConfiguration for iOS/Android.
Mention INTERNET Android permission in README (@nt4f04uNd).
* Link to tutorials in README.
Fix hang after stopping while loading.
Silence uncaught exceptions in positionStream.
Your coding agent can read these notes before it upgrades. Set up the MCP server →