The Next-Generation Local Music & Video Experience for Android
A high-performance, responsive local media player built with 100% Kotlin and the latest Jetpack libraries, featuring advanced real-time audio visualization.
⬇️ Download Latest APK • Report a Bug • Request Feature
🖼️ Tip: Insert a beautiful banner or side-by-side screenshots of your app here to instantly grab attention!
- 🎧 Elite Playback & Visualization: High-fidelity real-time audio analysis (FFT) using Android's
VisualizerAPI. - 🌌 Dynamic UI & Themes: Smooth RGB color-cycling in Dark Mode, a 360° "Orbital" frequency display, and a center-aligned "Bowtie" bass visualizer.
- 💿 Smart Metadata Extraction: Automatic album artwork integration and smooth loading powered by Coil.
- 📋 Advanced Queue Engine: Live-swap drag & drop for up to 800+ tracks, utilizing ultra-fast RecyclerView ViewBinding and intelligent auto-scroll.
- 📊 Insights & Dashboard: Beautifully animated Canvas charts for your listening statistics (total time, top played tracks).
- 🔐 Seamless Access: Minimalist smart login, instant guest access, and robust session persistence via Jetpack DataStore.
- ⚡ Frictionless Navigation: YouTube-style vertical volume popups, precision seek bars, and A-Z/Date fast scrollbars for massive libraries.
| Category | Technologies Used |
|---|---|
| Language | 100% Kotlin (Coroutines, Flow, State) |
| User Interface | Jetpack Compose (Material 3), Native RecyclerView, Canvas |
| Media Engine | Android Media3 (ExoPlayer & MediaSession) |
| Local Storage | Room (SQLite), DataStore Preferences |
| Image Loading | Coil (Asynchronous & Caching) |
Important
Source-Only Project: This repository is intended to showcase logic and architecture. XML resources and the Android Manifest are intentionally excluded from the main branch to focus purely on the Kotlin implementation.
To compile and run this application locally, follow these steps:
- Initialize Project: Create a new "Empty Compose Activity" project in Android Studio.
- Setup Dependencies: Copy the Media3, Coil, Room, and DataStore dependencies from the
.ktsfiles in this repository. - Merge Source Code: Clone this repo and copy the
com/example/myapplicationfolder content into your localsrc/main/javadirectory. - Resources & Manifest:
- Manually configure your
AndroidManifest.xmlwith the required permissions:RECORD_AUDIO,READ_MEDIA_AUDIO,READ_MEDIA_VIDEO,POST_NOTIFICATIONS. - Create the necessary XML layouts (e.g.,
item_queue.xml) referenced in theAndroidViewcomponents.
- Manually configure your
- Build & Run: Run a Gradle Sync and deploy the app to your emulator or physical device.
Developed with ❤️ by AvotraAder
- GitHub: @AvotraAder
- Email: andriniainaavotraader@gmail.com
If you find this project inspiring or helpful, please consider giving it a ⭐!