A modern, cross-platform music player client for Netease Cloud Music, built with Compose Multiplatform.
- Cross-Platform: Runs natively on Android, Windows, Linux, and macOS.
- Modern UI: Beautiful Material Design 3 interface with dynamic theming support.
- Music Playback:
- Support for multiple audio qualities (Standard, High, Lossless, Hi-Res, Dolby Atmos*, etc.).
- Lyric display with karaoke-style effects and translation.
- Background playback and media notification support.
- Content Discovery:
- Daily Recommendations.
- Personalized Playlists.
- Top/Hot Song Lists.
- Search & Library:
- Comprehensive search (Songs, Artists, Albums, Playlists).
- User Profile integration (Created/Subscribed playlists).
- Artist and Album detail pages.
- Customization:
- Theme color customization (Dynamic or Custom Hex).
- Dark/Light mode toggle.
- Lyric font size and blur styles.
- Language: Kotlin
- UI Framework: Compose Multiplatform (Jetpack Compose)
- Network: Ktor & Ktor Client
- Image Loading: Coil3
- Audio Engine:
- Android: androidx.media3 (ExoPlayer)
- Desktop: JavaFX Media / Java Sound
- State Management: ViewModel & Kotlin Flow
- API Source: Netease Cloud Music (via direct API implementation)
- JDK 17 or higher.
- Android Studio (for Android development) or IntelliJ IDEA (for Desktop development).
Download the latest .apk from the Releases page.
Download the installer for your OS (.msi, .deb, .rpm, or .dmg) from the Releases page.
-
Clone the repository:
git clone https://github.com/xiaojiang233/NekoMusic.git cd NekoMusic -
Run the Desktop application:
./gradlew :composeApp:run
-
Build for Android:
./gradlew :composeApp:assembleDebug
-
Package for Desktop (Distribution):
./gradlew :composeApp:packageReleaseDistributionForCurrentOS
NekoMusic supports logging in via Netease Cloud Music account.
- WebView Login: Use the built-in browser login option in Settings.
- Cookie Login: If WebView fails (common on some desktop environments), you can manually input your cookie.
- Detailed instructions for retrieving cookies are available in the App Settings > Account section.
This project is licensed under the MIT License.
- NeteaseCloudMusicApi for API reference.
- JetBrains for Kotlin and Compose Multiplatform.
- Coil for image loading.
- Ktor for networking.
- NekoPlayer
Note: This is a third-party client and is not affiliated with NetEase Inc.