Skip to content

Android music player for a seamless listening experience.

License

Notifications You must be signed in to change notification settings

waleedtalha/MusicPlayer

Repository files navigation

MusicPlayer

A powerful and feature-rich music player app built in Kotlin using a layered architecture. This app utilizes Hilt for dependency injection, Room DB for managing favorites and playlists, and RxJava for reactive programming.

ScreenShots

Features

● Asynchronous Data Fetching: Retrieve all songs, albums, and artists from the device.

● Playback Controls: Play, pause, shuffle, and repeat songs.

● Equalizer: Adjust sound, pitch, and bass.

● Favorites & Playlists: Add songs to favorites and create custom playlists.

● A-B Repeat: Loop a specific segment of a song.

● Speed Control: Modify the playback speed.

● Sleep Timer: Set a timer to stop playback after a set duration.

Tech Stack

● Kotlin: Programming language used for app development.

● Layered Architecture: Ensures separation of concerns and scalability.

● Hilt: Dependency injection framework for managing dependencies.

● Room DB: Database for managing favorites and playlists.

● RxJava: Reactive programming for asynchronous operations.

Getting Started

  1. Clone the repository

  2. Open the project in Android Studio.

  3. Build and run the project on an emulator or device.

License

This project is licensed under The GNU General Public License v3 - see the LICENSE.md file for details

Contributions

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.