Skip to content

Repository files navigation

🎬 NH Video Player

Premium Offline Video Player — Cinematic. Gesture-Driven. 100% Local.

Platform Min SDK Kotlin License Build

A part of the NH Series — dark · cyan · gold aesthetic, built for people who want their local videos to feel like a streaming app, not a file browser.


✨ Overview

NH Video Player turns your phone's offline video library into a cinematic, gesture-controlled streaming experience — no internet, no accounts, no ads. Every video already on your device gets a premium home, a smooth scroll-zoom gallery, and a full-featured player with pro-level gestures.

🖤 Highlights

🎞️ Animated Splash Cinematic loading screen while your library scans
🔲 Grid / List Toggle Switch between portrait card grid and wide list view instantly
🎚️ Scroll-Reactive Zoom Thumbnails scale & fade live as you scroll — not a one-time animation
👆 Full Gesture Control Brightness (left), volume (right), double-tap seek ±10s, tap to hide UI
🎵 Multi Audio Track Switch embedded audio tracks mid-playback
Variable Speed 0.25× → 2× playback, one tap away
🔒 Gesture Lock Lock the screen mid-watch to avoid accidental taps
🗑️ Permanent Delete Version-aware delete flow, with system confirmation on Android 11+
📋 Rich Video Info Title, duration, resolution, size, format, full path — at a glance

📱 Screenshots

Add screenshots here — Home Grid · Scroll Zoom · Player · Gesture Overlay

🛠️ Tech Stack

  • UI: Jetpack Compose · Material 3
  • Playback: AndroidX Media3 (ExoPlayer)
  • Thumbnails: Coil (Compose + Video)
  • Language: Kotlin
  • Architecture: Single-activity, local MediaStore video repository — no network, no third-party servers, everything stays on-device

🔐 Permissions

Permission Why
READ_MEDIA_VIDEO (Android 13+) / READ_EXTERNAL_STORAGE (older) To list videos already on your device
Storage write (Android 9 and below only) Required for delete on legacy Android

No camera, mic, location, contacts, or internet permission — the app has nothing to send out and nowhere to send it.

🚀 Build

Option A — CodeOnTheGo / AndroidIDE (on-device)

Open the project folder, build variant of your choice:

  • Debug APK — for testing
  • Release APK — first release build auto-generates a signing keystore:
    • Alias: nh_video_player
    • Password: NHDeveloper@2026 (override via NH_KEYSTORE_PASSWORD in gradle.properties)
    • Validity: 10,000 days (~27 years)
    • Keystore is .gitignore'd — never pushed to GitHub

Option B — GitHub Actions (CI)

Every push to main triggers .github/workflows/build.yml, which builds and uploads the debug APK as a workflow artifact — no local setup required.

git clone https://github.com/NH-Developer/NHVideoPlayer.git
cd NHVideoPlayer
./gradlew :app:assembleRelease

🗺️ Roadmap

  • Custom folders / hidden folder support
  • Playlist queueing
  • Picture-in-picture mode
  • Subtitle (SRT) support

🏷️ Brand

Part of the NH Series — a family of Android apps built independently under the NH Developer brand, following a consistent dark / cyan / gold cinematic identity across every app.

📡 Updates & new releases: t.me/htmlmovievg

📄 License

Proprietary — © NH Developer. All rights reserved. Not for redistribution without permission.

Built with 🖤 by NH Developer

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages