Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unite Music Player

Unite is a minimalistic music player that bridges your Android device and your Windows PC. It streams audio directly over a USB connection and provides native desktop media controls, eliminating the need to transfer large local music libraries or rely on internet connectivity.

image

Security and Privacy Guarantee

Note

Because this application requires USB Debugging to function, user privacy and device integrity are the highest priorities.

No Companion App: Unite does not require an additional app on your phone to communicate with PC.

No File System Access: Unite does not index, read, copy, or access your storage, files, or music library.

Read-Only Media Queries: Track metadata is extracted purely by reading Android's public dumpsys media_session logs. No other commands are sent to your phone.

Local Execution: The core application functions entirely offline. There are only 2 things which require internet connection, Album Artwork grabbing and Discord Rich Presence for status updates. No telemetry, analytics, or user data is collected.

Core Features:

Direct USB Audio Streaming: Routes device audio to Windows Core Audio with customizable bitrate and buffer sizes via scrcpy.

Universal Compatibility: Interfaces directly with Android's kernel-level hardware key events and MediaSessionManager. It works out of the box with any application that plays audio (Poweramp, VLC, Spotify, YouTube Music).

Hardware-Level Media Control: Play, pause, skip tracks directly from your PC without touching your device.

Discord Rich Presence: Automatically broadcasts current playback status, track metadata and album art to Discord.

User-Friendly UI: Features several window modes, including portrait, landscape, fullscreen and a compact overlay designed to stay on top of other applications.

Dedicated Visualizer: Includes a background wavy visualizer that scales performance based on window focus.

Some Customization: Supports custom HEX color palettes for Day/Night modes, Cover styles, and Google Font injection.

image image

Setup and Usage:

Prerequisites:

  1. An Android device running Android 11 or higher (required for USB audio forwarding).

  2. USB Debugging must be enabled in your device's Developer Options.

  3. A standard USB data transfer cable.

Instructions:

  • Connect your Android device to your PC via USB.

If this is your first time connecting, your phone will prompt you to "Allow USB debugging". Check "Always allow from this computer" and accept.

  • Launch Unite Player. You will see the muted interface, wait for a second, so Unite can detect your phone and start the stream. On successful connect, interface will fill with colors and show the last played song.

  • Begin playing music on your Android device or directly on your PC. The audio will automatically route to your PC headset/speakers.

Architecture and Dependencies

  • Unite operates by using several open-source commandline tools in the background via Node.js child processes:

  • Electron: The core framework powering the desktop window and JavaScript runtime.

  • Scrcpy (Audio-Only Mode): An open-source protocol by Genymobile used strictly for its ability to forward raw Android audio streams to a PC.

  • Android Debug Bridge (ADB): The official Android SDK tool used to send media key events and query playback status.

  • NirCmd: A lightweight Windows utility used to control the Scrcpy process volume independently in the Windows Audio Mixer.

  • Discord-RPC: The IPC library used to sync playback status with the Discord desktop client.

Known Limitations:

  1. Can't seek tracks.

  2. Can't change playlists.

  3. Can't browse the library.

  4. Can't load original artworks from the phone.

How to Build from Source

Here are the steps for comppiling Unite by yourself:

1. Clone the repository

git clone https://github.com/YourUsername/Unite-Music-Player.git
cd Unite-Music-Player

2. Install dependencies

Ensure you have Node.js installed, then run:

npm install

3. Run in Development Mode

To test the app locally without compiling:

npm start

4. Build the Standalone Executable

To package the app into a portable .exe and an installer:

npm run dist

The compiled binaries will be output to the dist/ folder.

License

Distributed under the GNU LGPLv3 License. See LICENSE for more information.

About

Unite is a User-Friendly Music Player for users who wants to listen to their music library while it stored on the Phone from PC completely (almost) offline.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages