A clean, offline-first music player for Android. Play your local library, search YouTube, and download tracks straight to your device.
A Flutter music player built around your local library β with a YouTube search and download flow baked right in. Background playback, lock-screen controls, and a local cache keep everything fast and offline-friendly.
- Local library β scans device audio, caches results in a local Drift database
- Player β full-screen and docked mini-player views
- Background playback β continues with media notification controls (play/pause, next/prev)
- YouTube search & download β search videos, download audio, convert to MP3
- Download queue β progress notifications with cancel/open actions
- Artwork & metadata β embedded album art and ID3 tags
- Rescan β refresh your library from the drawer
- Permissions flow β guided storage/notification permission checks
| Area | Package |
|---|---|
| State management | GetX |
| Audio | just_audio, audio_service |
| Local DB | Drift |
| YouTube | youtube_explode_dart |
| Conversion | ffmpeg_kit_flutter_new_audio |
| Metadata | metadata_god |
| Notifications | awesome_notifications |
Prerequisites
- Flutter SDK (3.0 or newer)
- Android device or emulator
Run it
git clone git@github.com:TBG101/Music-Player-Android.git
cd Music-Player-Android
flutter pub get
flutter runThis project is provided for educational and personal use only.
- No ownership of content. This app does not host, store, or distribute any media. It only streams and downloads content that is already publicly available on YouTube.
- You are responsible for what you download. Respect YouTube's Terms of Service, copyright law, and the rights of creators in your jurisdiction. Downloading copyrighted material without permission may be illegal where you live.
- Personal, non-commercial use. Do not use this app to redistribute, sell, or publicly broadcast downloaded content.
- No warranty. The software is provided "as is", without warranty of any kind. The authors are not liable for any misuse, copyright strikes, account termination, or legal consequences arising from the use of this software.
If you only download content you have the rights to β your own uploads, Creative Commons works, or public domain material β you are on solid ground.
lib/
βββ app/ # App shell, theme, DI bindings
βββ core/ # Services, utils, shared widgets
βββ features/
βββ library/ # Local library: scan, cache, home UI
βββ player/ # Audio handler + player UI
βββ youtube/ # Search, downloads, conversion queue
βββ permissions/# Permission check flow
Feature-first layout: each feature owns its controller/, data/, and presentation/ layers, wired together with GetX.