NOTICE: the project will not be worked on for some time because of my other project Toolbox.
but I will be planning to deploy this music player project on every KMP platform as well
App Name Coming Soon
Simple Music Player 100% Made in Kotlin
with Jetpack Compose & AndroidX Media3.
This app has somewhat basic playback control both in app and notification and should be able to play any format supported by ExoPlayer corresponds to the current Media3 version
this app filters incoming
ACTION_VIEW
Intent withscheme: "content://"
andmimeType: "audio/*"
Due to full-scale rewrite on the codebase it will be quite hard to accept any pull-request, feel free to Fork
or Clone
tho
Feel free to open an issue for suggestion
Audio Playback + Playback Control in App and Notification
Queue Reordering by Drag & Drop
Resolve Audio scan-able by MediaStore
Audio Metadata Extraction with modified version of JAudioTagger (Dirty) to have better compatibility in Android Environment
artwork and metadata currently only read to [MP3, FLAC, MP4-AAC, OGG-Vorbis, OGG-Opus, WAV], write is not tested.
Artwork color generated Playback background on PlaybackController UI with Palette API
Material You (Android 12++)
Playback Persistence (still thinking whether to implement user remote persistence via Firebase and GDrive)
Playlist Builder
Realtime Queue Editor (reorder & remove)
Lyrics
Metadata writer
Online Artwork Search
Integrate
Youtube Music
andSpotify
API's
UI theming and ColorScheme generator for API <= 31
Android Auto variant Support
Google Cast Support
etc.
Image Preview below will be updated accordingly on any notable changes made
Currently only [Library] and [User] screen are in work
Library Screen |
---|
Playback Control on Dark Mode |
---|
Permission Pager + Light Mode |
---|
Permission Pager + Dark Mode |
---|
credits: https://icons8.com/
-
Collections
-
Coroutines & Concurrency
// For proper concurrency integration with Java-based
androidx.Media3
-
DI
// Consider migrating to Koin for KSP support
-
Media
-
Persistence
-
Reflection & Serialization
-
SAF
-
Secure
-
Tests & Analytics
-
UI & Navigation
-
etc.