Skip to content

Repository files navigation

netPlayer Next

Also available in English. Click HERE to view the English version of the README

简介

License

这是一个基于Subsonic (Navidrome) API的一个桌面端App,你可以点击这里查看如何使用Navidrome (推荐) 搭建一个音乐服务器。如果你要查找移动端版本,应该访问netPlayer Mobile仓库

在使用前务必确保运行netPlayer的设备可以通过网络连接到你的音乐服务器
若有任何bug欢迎提交至Issues

★ netPlayer Next | netPlayer Mobile

** 多语言从v3.2.0 版本开始支持多语言,你点击这里查看详细的语言支持

如果有帮助到了你,欢迎给我投喂谢谢 🙏

目录

截图

Tip

现已支持自定义主题色&深色模式

使用

Tip

受限于Subsonic API,“所有歌曲”和“专辑”只能显示500首/张(随机的500首歌曲排序展示)
v3.6.2版本开始支持显示Navidrome服务的“所有歌曲”和“专辑”(默认开启,优先检查是否支持Navidrome API)

快捷键

App内快捷键

  • 空格:播放/暂停
  • 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):上一首

多语言支持

  • 简体中文
  • 繁体中文 (由ChatGPT翻译)
  • 英语

你可以通过pull&request添加你所需要的语言。语言目录位于lib/lang

如果有一些翻译不那么准确,你可以添加一个Issue

WebSocket服务

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

这个功能可以二次开发,用于直播背景音乐信息显示,详细步骤如下:

  1. 设计一个Web页面用于直播(边框)
  2. 在你觉得合适的地方设计一个背景音乐信息显示,内容为WebSocket服务获取的信息

桌面悬浮歌词

Note

此功能至少需要v3.7.5版本

  • 让歌词窗口在屏幕上水平居中
  • 设置文本大小
  • 设置外观(透明度和是否显示窗口阴影)**
  • 让歌词窗口置于顶层
  • 关闭悬浮歌词

* 修改所有的设置会保存,包括悬浮歌词的窗口位置。如果你打开悬浮歌词,下次启用会自动打开
** 你可以将歌词窗口设置为完全透明(将透明度设置为0,并且不显示阴影即可)

常见问题

无法连接到音乐服务器:

你需要先检查你的客户端设备是否可以直接打开音乐库网页,很大概率是服务器防火墙或者设置问题
另外务必检查地址,http和https

所有歌曲显示不全:

Subsonic音乐库的API并不支持查看所有的歌曲,因此至多只能显示500首歌曲 但是你可以通过完全随机播放来随机播放所有的歌曲,不受歌曲数量显示,v2版本在左边栏,v3版本在所有歌曲页标题右侧

打开页面灰色方块或者崩溃不显示内容

有两种可能

  1. 老版本的netPlayer Next和新版本冲突
    解决办法为删除这两个目录:
    C:\Users<你的用户名>\AppData\Roaming\zhouc\net_player_next
    C:\Users<你的用户名>\AppData\Roaming\zhouc\netPlayer
  2. 软件出现了Bug,常见于某个API找不到指定的参数会出现灰块
    建议你首先尝试更新Subsonic服务 (比如更新Navidrome)
    如果还是会稳定出现这个问题,你可以添加一个Issue

没有找到歌词:

歌词API见文末,没有找到歌词就是字面意思
歌词的内容取决于歌曲标题、所属专辑、艺人和歌曲长度

其它链接

  • MusicDL-GUI】下载歌曲的工具
  • Live-BG】用于直播的配合netPlayer显示当前播放歌曲信息和歌词的背景
  • netPlayer-mini-kit】桌面歌词系统 (已整合进软件本体)

在你的设备上配置netPlayer Next

netPlayer Next本体

本项目使用Flutter 3.41开发,你可以直接使用这个版本的Flutter在你的设备上Debug
建议直接使用Visual Studio Code,在安装完Flutter扩展和Dart扩展之后就可以Debug/Profile/Release了,我已经在.vscode文件夹中添加了launch类型

如果你在Windows上Debug或者Release,注意不要在国内的网络环境下操作,可能会等非常长的时间,Mac上没有这个问题

在Windows上的打包:

flutter build windows

在macOS上打包:

flutter build macos

关于PR

Note

如果你有需要PR,请将目标分支选择dev分支而不是主分支

一些API

Subsonic API

lrclib API

Navidrome API

网易云音乐

About

A Subsonic & Navidrome based music player

Topics

Resources

Stars

35 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages