A modern, lightweight cross-platform desktop music player built with Tauri 2 and Vue 3. Play local audio files and stream online music through third-party API proxies.
- Screenshots
- Features
- Technology Stack
- Getting Started
- Online Music
- Usage
- Contributing
- Roadmap
- Disclaimer
- License
- Acknowledgements
| Category | Description |
|---|---|
| Cross-platform | Windows, macOS, Linux |
| Performance | Rust + Tauri for minimal footprint and fast startup |
| Local playback | Scan folders; play MP3, WAV, OGG, FLAC |
| Online streaming | Search and play via NetEase API (requires local proxy) |
| UI | Vue 3 + Element Plus; light/dark and time-based auto theme |
| Playback | Volume, progress, repeat, shuffle; lyrics and immersive full-screen mode |
| Convenience | System tray, keyboard shortcuts (space, arrows), download with cover and lyrics |
| Settings | Theme, download path, library scan, cache management |
| Layer | Technologies |
|---|---|
| Frontend | Vue 3, Element Plus, Vue Router, Pinia, Vue I18n |
| Backend | Rust, Tauri 2.0 |
| Audio | Rodio |
| Network | Reqwest, Tokio |
| Build | Vite, Cargo |
- Node.js 16+
- Rust and Cargo (rustup)
- npm or pnpm
git clone https://github.com/xudong7/tauri-rmusic.git
cd tauri-rmusic
npm install
npm run tauri devOr with pnpm:
pnpm install
pnpm exec tauri devnpm run tauri buildOutput: src-tauri/target/release/ (binary); installers in src-tauri/target/release/bundle/.
Online streaming depends on a local API proxy. Start it before using the "Online Music" tab.
| Service | URL | Repository |
|---|---|---|
| NeteaseCloudMusicApiBackup | http://localhost:3000 |
nooblong/NeteaseCloudMusicApiBackup |
Steps:
- Clone, configure, and run the service on the port above.
- In Rmusic, open Online Music from the navigation.
- Search and play; use the download action to save tracks with cover and lyrics.
- Local music — Choose a music folder; the app scans and lists supported formats. Click a track to play.
- Online music — Open the Online Music page, search, then play or download.
- Playback — Use the bottom bar or shortcuts:
Space(play/pause),Left/Right(previous/next). - Immersive mode — Click the cover in the player bar for full-screen lyrics and visuals.
- Settings — Use the settings entry to change theme, download directory, scan options, and cache.
Contributions are welcome. Here are some ways to help:
- Bug fixes — Report or fix issues.
- Features — New playback or UI improvements.
- Docs — README, code comments, or guides.
- UI/UX — Layout, accessibility, and workflow improvements.
- i18n — New or updated translations.
- Tests — Unit or integration tests.
- Ideas — Open an Issue to discuss.
Process:
- Fork the repo.
- Create a branch:
git checkout -b feature/your-feature. - Commit:
git commit -m 'feat: your change'. - Push:
git push origin feature/your-feature. - Open a Pull Request.
Keep the existing style and add comments for non-obvious logic. For large changes, start with an Issue.
- Repeat and shuffle modes
- Settings: library scan, cache
- Theme customization (accent colors)
- i18n for more languages
- More music sources
- Import/export library and playlists
- Now playing notifications
Legal and usage notice (click to expand)
- This project is for learning only. Do not use it for commercial or illegal purposes. Respect copyright.
- Any copyrighted data produced while using this project is not owned by the project. You must delete such data within 24 hours to reduce infringement risk.
- The authors are not liable for any direct, indirect, special, incidental, or consequential damages from using this project.
- Do not use this project in places where it violates local laws. You are responsible for your own compliance.
- Please support official music platforms and legal distribution.
- This project is for technical exploration and research only. It does not accept commercial partnerships or donations.
- If a rights holder finds this project inappropriate, please contact the maintainers to request changes or removal.
- Tauri — Desktop framework
- Vue.js — Frontend framework
- Rodio — Audio playback
- Element Plus — UI components
- NeteaseCloudMusicApiBackup — NetEase API proxy





