Also available in English. Click HERE to see document of English version
这是一个基于Subsonic (Navidrome) API的一个桌面端App,你可以点击这里查看如何使用Navidrome (推荐) 搭建一个音乐服务器。
在使用前务必确保运行netPlayer的设备可以通过网络连接到你的音乐服务器
★ netPlayer Next | netPlayer | netPlayer Mobile
Note
这是netPlayer的Flutter版本,本仓库发布的netPlayer版本从2.0.0开始
Warning
这个版本的netPlayer不兼容Windows 7系统,如果你要查找支持Windows 7版本的netPlayer,转至netPlayer查找v1版本的netPlayer
桌面歌词组件在这里
v1 | v2 | v3 | |
---|---|---|---|
支持Windows版本 | Windows7~ | Windows10~ | Windows10~ |
框架 | Electron | Flutter | Flutter |
支持macOS | ✅ | ✅ | ✅ |
单曲循环 | ❌ | ✅ | ✅ |
定位歌曲 | ❌ | ✅ | ✅ |
全局快捷键 | 仅macOS | ✅ | ✅ |
WebSocket服务 | ❌ | ❌ | ✅ |
多语言支持 | ❌ | ❌ | ✅** |
** 多语言从v3.2.0 版本开始支持多语言,你点击这里查看详细的语言支持
Note
受限于Subsonic API,“所有歌曲”和“专辑”只能显示500首/张(随机的500首歌曲排序展示)
Tip
在所有歌曲页面歌曲数量的右侧有完全随机播放按钮,这个功能不受歌曲数量限制
空格
:播放/暂停command →
(macOS)或Ctrl →
(Windows):下一首command ←
(macOS)或Ctrl ←
(Windows):上一首command L
(macOS)或Ctrl L
(Windows):显示/隐藏歌词
- ⏯️(macOS & Windows)或
Ctrl Alt 空格
(Windows):播放/暂停 - ⏩(macOS & Windows)或
Ctrl Alt →
(Windows):下一首 - ⏪(macOS & Windows)或
Ctrl Alt ←
(Windows):上一首
Note
歌词组件的代码在这里,你可以在Release页中下载没有这个功能的版本,桌面歌词的开关在设置-启用歌词组件
,打开这个功能需要启用ws服务
- 简体中文
- 繁体中文 (由ChatGPT翻译)
- 英语
你可以通过pull&request添加你所需要的语言。语言目录位于lib/lang
如果有一些翻译不那么准确,你可以添加一个Issue
Note
这个功能至少需要v3.0.0版本,下面的接口适用的版本为v3.3.0或更新的版本,如果你想要查看过去版本的接口,你可以查找以往版本Tag的README文档
{
"title": <标题>,
"artist": <艺人>,
"lyric": <当前歌词>,
"cover": <专辑封面链接>,
"fullLyric": <完整歌词>,
"line": <当前歌词进行到多少行>,
"isPlay": <是否正在播放>,
"mode": <播放模式>,
}
详细的见lib/views/functions/ws.dart
内容
{
"command": <操作>
"data": <数据>
}
WebSocket服务器默认地址为: localhost:9098
这个功能可以二次开发,用于直播背景音乐信息显示,详细步骤如下:
- 设计一个Web页面用于直播(边框)
- 在你觉得合适的地方设计一个背景音乐信息显示,内容为WebSocket服务获取的信息
你需要先检查你的客户端设备是否可以直接打开音乐库网页,很大概率是服务器防火墙或者设置问题
另外务必检查地址,http和https
Subsonic音乐库的API并不支持查看所有的歌曲,因此至多只能显示500首歌曲 但是你可以通过完全随机播放来随机播放所有的歌曲,不受歌曲数量显示,v2版本在左边栏,v3版本在所有歌曲页标题右侧
可能老版本的netPlayer Next和新版本冲突
解决办法为删除这两个目录:
C:\Users<你的用户名>\AppData\Roaming\zhouc\net_player_next
C:\Users<你的用户名>\AppData\Roaming\zhouc\netPlayer
歌词API见文末,没有找到歌词就是字面意思
歌词的内容取决于歌曲标题、所属专辑、艺人和歌曲长度
- spotify-downloader用于下载歌曲,通过这种方式下载的歌曲一般会包含一些信息
- Live-BG用于直播的配合netPlayer显示当前播放歌曲信息和歌词的背景
- netPlayer-mini-kit桌面歌词系统
本项目使用Flutter 3.24开发,你可以直接使用这个版本的Flutter在你的设备上Debug
建议直接使用Visual Studio Code,在安装完Flutter扩展和Dart扩展之后就可以Debug/Profile/Release了,我已经在.vscode文件夹中添加了launch类型
Warning
不要使用Flutter3.7或更低版本的Flutter,确保Dart版本至少有3.0.0
如果你在Windows上Debug或者Release,注意不要在国内的网络环境下操作,可能会等非常长的时间,Mac上没有这个问题
在Windows上的打包:
flutter build windows
在macOS上打包:
flutter build macos
Note
如果你有需要PR,请将目标函数选择dev分支而不是主分支
本项目中不乏很多屎山代码(是的,虽然基本上我是唯一的开发者),但是如果不能确保不影响正常的功能请保持现状
我尝试修改了一部分,但是有一些部分对整个项目影响过大然后崩溃了;w;
你需要前往netPlayer-mini-kit页面中以同样的方法打包,放置到<程序路径>/lyric
下即可
网易云音乐