Skip to content

Repository files navigation

FMP

FMP

One music player for Bilibili, YouTube and NetEase Cloud Music.
Android and Windows.

Latest release CI Platform License: MIT

English · 繁體中文

Your playlists live on three different platforms and none of their apps will play the other two. FMP searches across all of them, plays from any of them, and keeps one queue, one library and one set of listening history.

Download

Platform
Android APK (recommended) 64-bit ARM, which is nearly every phone from recent years; smaller download
Android Universal APK Any device, including 32-bit ARM and x86_64; larger download
Windows Installer (recommended) Full SMTC, Start menu, shortcuts, system integration
Windows Portable ZIP Unzip and run; media keys and shortcut identity may be incomplete

All versions and release notes: GitHub Releases.

FMP on Windows

Search across sources (Windows) Lyrics (Windows)

Android — Home Android — Player Android — Lyrics Android — Search
Home on Android Player on Android Lyrics on Android Search on Android
More Windows screenshots
Home Library
Queue Radio
Settings

What it does

  • Three sources, one search. Bilibili (video audio, multi-part collections, live-room audio, favourites import), YouTube (videos, playlists, Mix/Radio dynamic queues, Opus/AAC preference), and NetEase (songs, playlists, VIP and availability flags). Paste a URL to play it directly.
  • Your library, imported. Build playlists with custom covers, or import them from any of the three — plus fuzzy-matched import from QQ Music and Spotify exports.
  • Playback you expect. Queue reordering, repeat and shuffle modes, speed control, and a "try this one" mode that returns you to where you were. The queue survives a restart.
  • Lyrics from NetEase, QQ Music and lrclib with a source priority you set, synced scrolling, translation and romanization, and a separate desktop lyrics window on Windows.
  • Offline. Download single tracks or whole playlists; downloads become part of the local library.
  • Live rooms as radio, with their own playback page.
  • History with a timeline and statistics, local backup and restore, and an in-app update check against GitHub Releases.
Android Windows
Background playback ✅ —
Notification controls ✅ —
System media keys ✅ ✅
Windows SMTC — ✅
System tray — ✅
Global hotkeys — ✅
Desktop lyrics window — ✅

Built with

Layer
App Flutter · Dart · Material 3
State Riverpod
Local data Isar
Routing go_router
Audio just_audio (Android) · media_kit (Windows)
Network Dio · youtube_explode_dart · per-platform adapters
i18n slang

The UI switches between bottom navigation, a side rail and a desktop detail pane by width.

Building

Needs the Flutter SDK. A Windows desktop build additionally needs the NuGet CLI (pulled in by flutter_inappwebview_windows) and a Rust toolchain (smtc_windows builds a Rust crate through cargokit).

flutter pub get
dart run build_runner build
dart run slang
flutter analyze
flutter test --exclude-tags live

Generated code is not committed — run the two codegen steps before analyzing.

The in-depth docs are written in Traditional Chinese.

docs/README.md What each document covers
docs/building.md Local Android and Windows builds
docs/development.md Architecture, sources, data model
docs/build-and-release.md CI, releases, signing, in-app update assets
docs/troubleshooting.md Common build and runtime problems

Privacy and disclaimer

FMP hosts no music. It reads the public interfaces of platforms you already have accounts on, and your history, playlists, settings, credentials and downloads stay on your device. There are no ad or analytics SDKs.

Warning

For study and personal use. Membership-only, restricted and unavailable content still follows the source platform's rules. Frequent or abnormal requests may get your account limited or banned — that risk is yours. The authors accept no liability for any loss arising from use of this software.

Credits

Built on media_kit, just_audio, youtube_explode_dart, Isar and Riverpod.

License

MIT. Third-party components FMP bundles or derives from — including the LGPL-licensed libmpv/FFmpeg in the Windows build — are recorded in THIRD_PARTY_LICENSES.md.

About

Cross-platform music player unifying Bilibili, YouTube and NetEase Cloud Music audio sources. Android and Windows.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages