An open API service indexing awesome lists of open source software.

https://github.com/1morr/fmp

Flutter music player app unifiying bilibili, youtube and netease audio source..
https://github.com/1morr/fmp

bilibili flutter music music-player netease netease-cloud-music player youtube

Last synced: 2 months ago
JSON representation

Flutter music player app unifiying bilibili, youtube and netease audio source..

Awesome Lists containing this project

README

          

# FMP - Flutter Music Player


FMP Logo


跨平台音乐播放器,支持 Bilibili、YouTube 和网易云音乐音源,提供统一的播放体验。


Latest Release
Platform
License

---

## 下载安装

| 平台 | 下载 | 说明 |
|------|------|------|
| **Android** | [APK 下载](https://github.com/1morr/FMP/releases/download/v1.7.0/fmp-v1.7.0-android-universal.apk) | 直接安装 |
| **Windows** | [安装包下载(推荐)](https://github.com/1morr/FMP/releases/download/v1.7.0/fmp-v1.7.0-windows-installer.exe) | 完整支持SMTC 显示 |
| Windows | [免安装版](https://github.com/1morr/FMP/releases/download/v1.7.0/fmp-v1.7.0-windows.zip) | 解压即用 |

> 💡 Windows 推荐使用安装包版本,以获得最佳的系统集成体验(SMTC、托盘图标等)。
>
> 📋 查看所有版本:[Releases 页面](https://github.com/1morr/FMP/releases)

---

## 应用截图


桌面端首页

---

## 功能特性

### 🎵 多源音频播放
- **Bilibili** - 视频、多P合集、直播间音频
- **YouTube** - 视频、Mix/Radio 动态无限播放列表
- **网易云音乐** - 歌曲搜索、歌单导入、VIP 标识
- **音质可选** - 高/中/低音质等级

### 🎛️ 播放控制
- 播放/暂停、上一首/下一首、进度拖拽
- 播放速度调节
- 循环模式(单曲/列表/顺序)、随机播放
- 临时播放 - 点击歌曲试听,完成后恢复原队列
- 播放位置记忆 - 重启后从上次位置继续

### 📋 播放队列
- 拖拽排序、点击删除
- 重启后自动恢复
- YouTube Mix 模式 - 动态加载更多歌曲

### 📚 音乐库
- 歌单管理 - 创建、编辑、删除、自定义封面
- **导入功能**:
- Bilibili 收藏夹 / YouTube 播放列表
- 网易云音乐、QQ音乐、Spotify 歌单(智能匹配)
- 歌单内搜索与排序

### 🔍 搜索
- Bilibili / YouTube / 网易云音乐 三源搜索
- 搜索历史记录
- 结果排序(综合/播放量/最新)

### 📥 下载与离线
- 离线下载到本地存储
- 批量下载整个歌单
- 按歌单分文件夹管理

### 🏠 首页与探索
- 排行榜预览(Bilibili / YouTube 热门)
- URL 直接播放

### 📊 播放历史
- 时间轴列表展示
- 统计卡片
- 筛选与排序

### 🔄 应用内更新
- 自动检查 GitHub Releases 新版本
- 一键下载安装

---

## 平台特性

| 特性 | Android | Windows |
|------|:-------:|:-------:|
| 后台播放 | ✅ | - |
| 通知栏控制 | ✅ | - |
| 系统媒体键 | ✅ | ✅ |
| 系统托盘 | - | ✅ |
| 全局快捷键 | - | ✅ |

---

## 响应式设计

| 布局 | 宽度 | 导航方式 |
|------|------|----------|
| 手机 | < 600dp | 底部导航栏 |
| 平板 | 600-840dp | 侧边导航栏 |
| 桌面 | > 840dp | 可收起侧边栏 + 详情面板 |

---

## 开发者

如果你想自己编译运行或参与开发,请参阅:

- [构建指南](docs/build-guide.md) - 本地编译 Android APK 和 Windows 安装包
- [开发文档](docs/development.md) - 项目架构、技术栈、开发规范

---

## 免责声明

> [!WARNING]
> **本项目仅供学习与研究使用,请勿将其用于任何非法用途。**

- FMP 不提供公共云端曲库或媒体分发服务。在线音频能力依赖第三方平台的公开接口,会员或受限内容仍需遵循原平台规则。
- 使用本软件过程中,因频繁请求、异常调用等行为导致的**第三方平台账号被封禁、限制或其他处罚**,本项目概不负责,风险由用户自行承担。
- 本项目不存储、不分发任何受版权保护的音频内容,所有内容均来自用户自行授权的第三方平台。
- 本项目开发者不对因使用本软件而产生的任何直接或间接损失承担责任。

---

## 鸣谢

### API 文档与资料

bilibili-API-collect
哔哩哔哩 API 收集整理

netease-cloud-music
网易云音乐 API Golang 实现

### 核心依赖

media_kit
跨平台音视频播放库(桌面端后端)

just_audio
Flutter 音频播放库(Android 端后端)

youtube_explode_dart
YouTube 数据提取库

Isar
高性能本地数据库

Riverpod
状态管理框架

---

## 隐私与数据

- FMP 不提供云端媒体分发服务,不接入广告 SDK 或第三方统计。
- 所有数据(播放历史、歌单、设置、登录凭证)默认保存在用户设备本地。
- 第三方平台侧的访问日志与风控策略,由对应平台按照其自身隐私政策处理。

---

## 许可证

[GPL-3.0 License](LICENSE)