mt_audio 0.2.0-beta.4
mt_audio: ^0.2.0-beta.4 copied to clipboard
A beta, streams-based Flutter audio package with background playback, queue management, Android Auto, and Apple CarPlay support.
0.2.0-beta.4 - 2026-02-27 #
Added #
asset:///artwork URI support — bundled Flutter assets are automatically extracted to the cache directory for use in system notifications, Android Auto, and CarPlay.androidNotificationOngoingoption inMtAudioPlayerConfigto control whether the Android notification is dismissible when paused (defaults tofalse).onTaskRemovedhandler to clean up playback when the app is swiped away on Android.
Changed #
MtArtworkwidget now supportsasset://andfile://URI schemes in addition to network URIs, with resolution-aware image caching (cacheWidth/cacheHeight) andgaplessPlayback.
Fixed #
- Skip previous/next controls are now hidden in both system notifications and the
MtTrackSkipButtonwidget when the queue contains a single item.
0.2.0-beta.3 - 2026-02-16 #
Changed #
- Replaced
MtAudioSourcesealed class (MtSingleSource,MtPlaylistSource,MtLiveSource) with two explicit methods onMtAudioPlayer:setAudioItem(MtAudioItem)andsetPlaylist(List<MtAudioItem>, {int initialIndex}). - Simplified internal playback state stream and added
.distinct()to prevent redundant emissions.
Fixed #
ffRewindIntervalfromMtAudioPlayerConfigis now correctly forwarded to system media controls (lock screen, notification, Android Auto, CarPlay). Previously, system-level fast-forward/rewind buttons used default intervals instead of the configured value.
Breaking changes #
- Removed
MtAudioSource,MtSingleSource,MtPlaylistSource, andMtLiveSourceclasses. - Removed
MtAudioPlayer.setSource(MtAudioSource). - Added
MtAudioPlayer.setAudioItem(MtAudioItem)-- replacessetSource(MtSingleSource(...))andsetSource(MtLiveSource(...)). - Added
MtAudioPlayer.setPlaylist(List<MtAudioItem>, {int initialIndex})-- replacessetSource(MtPlaylistSource(...)).
Migration
// Before
await player.setSource(MtSingleSource(item: track));
await player.setSource(MtLiveSource(item: stream));
await player.setSource(MtPlaylistSource(items: tracks, initialIndex: 2));
// After
await player.setAudioItem(track);
await player.setAudioItem(stream);
await player.setPlaylist(tracks, initialIndex: 2);
0.2.0-beta.2 - 2026-02-13 #
0.1.0 - 2026-02-12 #
Initial public release of mt_audio.
Added #
- Streams-based audio player facade (
MtAudioPlayer) with synchronous getters. - Background playback support with system media controls via
audio_service. - Queue management (set source, add/insert/remove/reorder, skip, clear).
- Playback controls (play/pause/stop/seek, fast-forward/rewind).
- Playback modes (repeat, shuffle), speed control, and volume control.
- Audio session handling for interruptions and becoming-noisy events.
- Optional Android Auto integration via delegate pattern.
- Optional Apple CarPlay integration via delegate pattern and handler.
- Reusable UI widgets for controls, seek bar, queue, speed, artwork, and now-playing info.
- Example application demonstrating package setup and usage.
Breaking changes #
- None.