// the find
SPlayer-Dev/SPlayer
🎵 A cross-platform music player with Jellyfin / Navidrome / Emby media server support, word-by-word lyrics, desktop & taskbar lyrics, cloud music drive, local library management, audio spectrum visualization and mobile-friendly UI. 简约的跨平台音乐播放器,支持逐字歌词、桌面歌词、任务栏歌词、云盘音乐、本地音乐管理及流媒体播放
SPlayer is an Electron-based music player targeting Chinese streaming platforms (NetEase, QQ Music) with Jellyfin/Navidrome/Emby/Subsonic support bolted on. It runs as a desktop app with a bundled local API server and ships word-by-word karaoke lyrics, desktop overlay lyrics, and audio spectrum visualization. The README opens with a maintenance-mode warning — active development has moved to SPlayer-Next.
The native Rust modules are the most interesting part: taskbar lyrics use Windows UI Automation to paint text directly onto the taskbar on both Win10 and Win11, with separate strategy implementations for each OS version. System media integration (Discord RPC, OS media controls) is also Rust via NAPI-RS, not some fragile JS shim. The streaming server support is genuinely multi-protocol — Jellyfin, Emby, and OpenSubsonic all have separate API layers with multi-server switching. Bundling ffmpeg.wasm for in-browser audio processing means the web build handles format conversion without a server round-trip.
The core feature set depends on NeteaseCloudMusicApi, an unofficial reverse-engineered API that violates NetEase's terms of service — the README's own disclaimer warns of 'legal or litigation risk' if you ship this commercially. Cross-platform is aspirational: macOS gets three dedicated troubleshooting pages and the README explicitly says only Windows is guaranteed to work. The build chain is steep — you need pnpm, Node 20+, Rust, and the native modules compile separately; SKIP_NATIVE_BUILD exists but silently drops several features. Most importantly, the project is in maintenance mode and the README points you to SPlayer-Next, so you'd be inheriting a codebase the author has already walked away from.