Skip to content

ajay99511/FastBeat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

99 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โฑ๏ธ FastBeat

Android Kotlin Jetpack Compose License

The Ultimate Premium Offline Media Player for Android

Features โ€ข Quick Start โ€ข Architecture โ€ข Documentation โ€ข Contributing


๐ŸŒŸ What is FastBeat?

FastBeat is a powerful, modern, and beautifully designed offline media player built from the ground up to deliver a premium experience for both video and audio. Built with the latest Android technologies (Kotlin, Jetpack Compose, Media3, Room, Hilt), it provides a seamless and immersive way to enjoy your local media without any internet connection.

Whether you're watching high-definition movies with advanced gesture controls and Picture-in-Picture mode, or listening to your music library with a smart queue system and rich analytics, FastBeat is designed to be your all-in-one media companion. It respects your privacy by remaining 100% offline, ensuring your data never leaves your device.

Why FastBeat?

Traditional Media Players FastBeat Solution
Clunky, outdated UI Modern, Fluid Jetpack Compose UI
Ad-heavy and online-focused 100% Offline & Ad-Free Experience
Basic playback controls Advanced Gestures, PiP, & Smart Queue
No insights into habits Rich Analytics & Activity Dashboard

โœจ Features

๐ŸŽฌ Advanced Video Player

  • High-Performance Playback โ€” Smooth offline video playback powered by AndroidX Media3 (ExoPlayer).
  • Intuitive Gestures โ€” Swipe left/right for brightness/volume, swipe horizontally to seek.
  • Picture-in-Picture (PiP) โ€” Continue watching in a floating window while using other apps.
  • Multi-Track Support โ€” Easily switch between audio tracks and subtitle tracks.

๐ŸŽง Immersive Audio Experience

  • Smart Queue System โ€” Persistent playback queue that remembers your position across restarts.
  • Infinite Playback โ€” Auto-refills with shuffled tracks when your queue ends.
  • Rich Library Management โ€” Advanced sorting and real-time search across tracks, albums, and playlists.
  • Mini Player โ€” Always-visible persistent player bar with gradient progress.

๐Ÿ“Š "Me" Dashboard (Analytics)

  • Real-time Stats โ€” Track your daily, weekly, and monthly listening time.
  • Activity Streaks โ€” Maintain your daily listening streak.
  • Smart Insights โ€” Discover your most played tracks and current obsessions.
  • Playback History โ€” Complete log of your recently played media.

๐Ÿ–ผ๏ธ Rich Image Gallery

  • Instant Gallery โ€” View all device images in a sleek, staggered grid.
  • Fullscreen Viewer โ€” Edge-to-edge, swipeable image viewing experience.
  • Scoped Storage Support โ€” Safely delete or manage media with Android 11+ compatibility.

๐ŸŽจ Premium Theming

  • Curated Themes โ€” Choose from Amber Horizon, Digital Waves, or Eco Frequency.
  • Dynamic Dark Mode โ€” Full support for Light and Dark modes across all themes.
  • Animated Transitions โ€” Smooth navigation and UI interactions.

๐Ÿ“ Smart Organization

  • Auto-Grouping โ€” Videos automatically organized by folders.
  • Continue Watching โ€” Resume unfinished videos exactly where you left off.
  • Fast Thumbnails โ€” Background-cached video thumbnails for instant browsing.

๐Ÿ“ธ Screenshots

Video Player Audio Library
Video Player Audio Library
Advanced Gestures & PiP Smart Search & Sorting
Analytics Dashboard Image Gallery
Analytics Gallery
Listening Habits & Streaks Staggered Grid View

๐Ÿš€ Quick Start

Prerequisites

Ensure you have the following installed:

  • Android Studio (Iguana / Jellyfish or newer)
  • JDK 11+
  • Android SDK 35 (Target API 35)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/FastBeat.git
    cd FastBeat
  2. Sync Project Open the project in Android Studio and let Gradle sync.

  3. Install Dependencies The project uses a Version Catalog (gradle/libs.versions.toml).

    ./gradlew build
  4. Run the application Press Shift + F10 or the Play button in Android Studio with an emulator or physical device (API 26+) connected.

Build for Production

# Generate Debug APK
./gradlew assembleDebug

# Generate Release APK
./gradlew assembleRelease

๐Ÿ—๏ธ Architecture

FastBeat follows the MVVM (Model-View-ViewModel) architectural pattern with a clean separation of concerns and a robust Repository layer.

[ UI Layer (Compose) ]
         |
         v
[ ViewModel (StateFlow) ] <---> [ Media3 Playback Service ]
         |
         v
[ Repository Layer ]
         |
         +-----------------------+
         |                       |
[ Room Database ]       [ MediaStore (Local) ]

Key Design Decisions

Pattern/Decision Purpose Benefit
Jetpack Compose UI Framework Declarative UI, faster development, and modern animations.
AndroidX Media3 Media Engine Unified API for playback and sessions, replacing legacy ExoPlayer.
Dagger Hilt Dependency Injection Compile-time validation and easy management of scoped dependencies.
Room DB Local Persistence Type-safe database access for playlists, history, and stats.

๐Ÿ“ฆ Tech Stack

Core Technologies

Technology Version Purpose
Kotlin 2.2.10 Core programming language.
Jetpack Compose 1.7.x Declarative UI framework.
AndroidX Media3 1.2.1 Playback engine and media session management.
Room 2.7.0-alpha11 Local database for offline storage.
Dagger Hilt 2.58 Dependency injection framework.

Key Packages

[libraries]
androidx-media3-exoplayer = "1.2.1"
androidx-room-runtime = "2.7.0-alpha11"
hilt-android = "2.58"
coil-compose = "2.6.0"  # Image Loading
gson = "2.10.1"        # JSON Persistence

๐Ÿ“š Documentation

Comprehensive documentation is available in the docs/ directory:

Document Description
Getting Started Detailed installation and developer onboarding.
Features Guide Deep dive into all available features and roadmap.
Contributing Guidelines for contributing to the project.
License MIT License details.

๐Ÿ› ๏ธ Development

Project Structure

app/src/main/java/com/local/offlinemediaplayer/
โ”œโ”€โ”€ data/           # Room DB, ThumbnailManager, DI modules
โ”œโ”€โ”€ model/          # Domain models (MediaFile, Album, Playlist)
โ”œโ”€โ”€ repository/     # Data repositories (Playlist, Media)
โ”œโ”€โ”€ service/        # Background playback service (Media3)
โ”œโ”€โ”€ ui/             # Compose Screens, Navigation, Themes
โ””โ”€โ”€ viewmodel/      # Central StateFlow managers (Playback, Analytics)

Running Tests

# Run all Unit Tests
./gradlew test

# Run Instrumentation Tests
./gradlew connectedAndroidTest

๐Ÿ”ฎ Roadmap

Coming Soon

  • Equalizer โ€” Advanced 10-band equalizer with presets (Q2 2026).
  • Lyrics Support โ€” Local .lrc file parsing and synchronized display (Q3 2026).
  • Chromecast Support โ€” Cast your local media to large screens (Q4 2026).

Under Consideration

  • DLNA/UPnP streaming from local servers.
  • Custom sound profiles per device.
  • AI-powered smart playlists based on mood.

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

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

See CONTRIBUTING.md for detailed guidelines.


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments


Made with โค๏ธ using Jetpack Compose

Report Bug โ€ข Request Feature

About

๐ŸŽต FastBeat - A premium, fully offline media player for Android with gesture controls, PiP mode, analytics dashboard, and customizable themes. Built with Jetpack Compose & Media3.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages