Skip to content

Amorousstake5/Musicq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 Musicq Music Player

Musicq Logo

A powerful, feature-rich local music player for Android with Material 3 design Made with Claude 4.5 Sonnet

Android API License


✨ Features

🎼 Core Playback

  • Local Music Library - Scans and plays all audio files on your device
  • Album & Artist Management - Organized library with album art support
  • Custom Playlists - Create and manage unlimited playlists
  • Queue Management - Shuffle and repeat modes
  • Background Playback - Continues playing when app is minimized

🎨 User Interface

  • Material 3 Design - Modern, expressive UI with dynamic colors
  • Fullscreen Player - Immersive playback experience
  • Mini Player - Quick controls at the bottom of the screen
  • WebGL Splash Animation - Eye-catching startup with Three.js
  • Album Art Display - Beautiful cover art throughout the app

πŸ”§ Advanced Features

  • System Integration - Quick Settings, lock screen, Android Auto support
  • Media Session API - Full system media controls integration
  • Rich Notifications - Playback controls in notification shade
  • Audio Effects - Equalizer, Bass Boost, Virtualizer
  • Playback Controls - Variable speed (0.5x-1.5x) and pitch adjustment
  • Metadata Viewer - Detailed track information (bitrate, sample rate, format)

⚑ Performance

  • Battery Saver Mode - Reduces power consumption by disabling effects
  • Efficient Scanning - Fast music library indexing
  • Optimized Playback - Minimal resource usage
  • Wake Lock Management - Smart power management

πŸŽ›οΈ Customization

  • Volume Control - Precise volume adjustment (0-100%)
  • Speed & Pitch - Independent control for each
  • Crossfade Duration - Smooth transitions between tracks
  • Audio Effects Toggle - Enable/disable individual effects

πŸ“± Screenshots

Launch Animation Main Player Fullscreen Albums Settings
Launch Main Fullscreen Albums Settings

πŸš€ Installation

Download APK

  1. Go to Releases
  2. Download the latest app-debug.apk
  3. Install on your Android device (Android 7.0+)

Permissions Required

  • Read Media Audio (Android 13+) / Read External Storage (Android 12-)
  • Foreground Service - For background playback
  • Wake Lock - To keep playing when screen is off
  • Post Notifications - For playback controls

πŸ› οΈ Build from Source

Prerequisites

  • Android Studio Arctic Fox or newer
  • JDK 8 or higher
  • Android SDK (API 24+)
  • Gradle 7.0+

Steps

# Clone the repository
git clone https://github.com/Amorousstake5/Musicq.git

# Open in Android Studio
cd Musicq
# File β†’ Open β†’ Select the project directory

# Build the project
./gradlew assembleDebug

# Install on connected device
./gradlew installDebug

Project Structure

Musicq/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”‚   β”œβ”€β”€ java/com/example/harmoniq/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MainActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ PlayerActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ FullPlayerActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MusicService.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ AlbumDetailActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CreatePlaylistActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ SettingsActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ MetadataActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ CreditsActivity.java
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Models/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ Adapters/
β”‚   β”‚   β”‚   β”‚   └── Managers/
β”‚   β”‚   β”‚   β”œβ”€β”€ res/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ layout/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ drawable/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ values/
β”‚   β”‚   β”‚   β”‚   └── menu/
β”‚   β”‚   β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”‚   β”‚   └── splash_animation.html
β”‚   β”‚   β”‚   └── AndroidManifest.xml
β”‚   β”‚   └── build.gradle
β”‚   └── build.gradle
β”œβ”€β”€ gradle/
└── README.md

πŸ”§ Tech Stack

Core Technologies

  • Language: Java
  • Min SDK: 24 (Android 7.0 Nougat)
  • Target SDK: 36 (Android 16)

Android Components

  • MediaPlayer API - Audio playback engine
  • MediaSession API - System media integration
  • JAudiotagger API - Track information extraction
  • XSPF Playlist Management - Playlist storage
  • Foreground Service - Background playback
  • MediaStore API - Music library scanning

Audio Processing

  • Equalizer - Frequency band adjustment
  • BassBoost - Low-frequency enhancement
  • Virtualizer - Spatial audio effect
  • PlaybackParams - Speed and pitch control

UI/UX

  • Material Design 3 - Modern design system
  • RecyclerView - Efficient list rendering
  • ConstraintLayout - Responsive layouts
  • CardView - Elevated content cards
  • FloatingActionButton - Primary actions

Libraries

    implementation(libs.appcompat)
    implementation(libs.material)
    implementation(libs.activity)
    implementation(libs.constraintlayout)
    implementation(libs.recyclerview)
    implementation(libs.media)
    implementation(libs.jaudiotagger)

WebGL Animation

  • Three.js - 3D graphics library for splash screen

πŸ“‹ Features Breakdown

Music Scanning

  • Scans all audio files using MediaStore API
  • Extracts metadata (title, artist, album, duration)
  • Loads album art from media database
  • Groups songs by albums and artists

Playback Engine

  • MusicService: Bound service for continuous playback
  • MediaPlayer: Native Android audio player
  • Notification Controls: Play, pause, next, previous
  • MediaSession: System-wide media control integration

Playlist Management

  • SQLite Database: Persistent playlist storage
  • Create: Add multiple songs with checkboxes
  • Edit: Add/remove songs dynamically
  • Delete: Remove playlists

Audio Effects

  • Equalizer: Multi-band frequency adjustment
  • BassBoost: Enhanced low-end (0-1000)
  • Virtualizer: 3D audio effect (0-1000)
  • All effects can be toggled individually

Battery Optimization

  • Wake Lock: Only active during playback
  • Effect Management: Disabled in battery saver mode
  • Efficient Updates: 500ms UI refresh rate
  • Smart Service: Stops when not needed

🎯 Roadmap

Version 2026.xx.xx (Planned)

  • Sleep timer
  • Gapless playback
  • Theme customization
  • Folder browsing
  • Recently played tracks

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contribution Guidelines

  • Follow existing code style
  • Add comments for complex logic
  • Test on multiple Android versions
  • Update documentation for new features

πŸ› Bug Reports

Found a bug? Please open an issue with:

  • Device model and Android version
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots (if applicable)

πŸ™ Acknowledgments

  • Material Design - Google's design system
  • Three.js - WebGL graphics library
  • Android Open Source Project - Core Android libraries
  • Community - For testing and feedback

If you like this project, please give it a ⭐!

Made with ❀️ by Soumyajit Roy

Report Bug β€’ Request Feature

About

A lightweight and basic Media Player

Topics

Resources

License

Stars

Watchers

Forks

Contributors