MePlayer is a beautiful, lightweight, and privacy‑focused music player for Android. Built entirely with Kotlin and Jetpack Compose, it follows Material Design 3 guidelines and offers a seamless listening experience without any ads or tracking.
⚠️ Note: MePlayer is still under active development. Feedback is appreciated!
Main Screen (Dark) |
Player (Dark) |
Settings (Dark) |
Main Screen (Light) |
Player (Light) |
Settings (Light) |
MePlayer requires the following permissions for core functionality. All sensitive permissions are requested at runtime with clear explanations.
| Permission | Purpose | Security Note |
|---|---|---|
READ_MEDIA_AUDIO (Android 13+) / READ_EXTERNAL_STORAGE (≤ Android 12) |
Read audio files from device storage. | Only audio files are accessed; no other media types. |
WRITE_EXTERNAL_STORAGE (≤ Android 9) |
Delete audio files when user requests removal. | On Android 10+ deletion uses system dialog (MediaStore.createDeleteRequest) for safety. |
POST_NOTIFICATIONS (Android 13+) |
Show media playback notification. | Users can disable notifications in settings. |
FOREGROUND_SERVICE + FOREGROUND_SERVICE_MEDIA_PLAYBACK |
Keep playback alive in background. | Required by Google Play policy; no data access. |
For a detailed explanation of each permission, see the comments in AndroidManifest.xml.
- Clone the repository
git clone https://github.com/mmiheev/MePlayer.git
- Open in Android Studio – Select the cloned folder and wait for Gradle sync.
- Run the app – Connect a device or start an emulator, then click
Run(▶️ ).
./gradlew assembleDebug- Kotlin – 100% Kotlin codebase.
- Jetpack Compose – Modern UI toolkit.
- Material Design 3 – Adaptive theming and components.
- ViewModel – UI state management.
- Coroutines & Flow – Asynchronous programming.
- MediaStore – Querying local audio files.
- ExoPlayer – Audio playback.
Contributions are what make the open‑source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Steps to contribute:
- Fork the Project
- Create your feature branch (
git checkout -b feature/name) - Commit your changes (
git commit -m 'add some new feature') - Push to the branch (
git push origin feature/name) - Open a pull request
If you encounter any bugs or have an idea for a new feature, please open an issue. Be sure to include:
- A clear title and description.
- Steps to reproduce (for bugs).
- Screenshots if relevant.
- Your Android version and device model.
If you like MePlayer, please consider giving it a star on GitHub – it helps others discover the project!
MaxMiheev@proton.me – feel free to reach out!







