本项目是一款用 Rust 编写的网易云音乐终端界面播放器。
提供仿 Vim
式的命令和交互体验。
欢迎提 Issue 或 PR :)
二维码
- 扫码登录
- Cookie 登录
- 音量设置
- “一键静音”
- 播放模式
- 单曲播放
- 单曲循环播放
- 列表循环播放
- 随机播放
- “一键开始播放”
- 歌词滚动显示
- 跳转到某句歌词对应的时间戳播放
- 播放记录计入网易云云端记录和听歌报告(上游接口目前疑似高危)
- 播放用户歌单(创建+收藏)
- 在播放列表中跳转到当前播放的歌曲
- 在播放列表中搜索歌曲名
- 支持正则表达式
- 全局搜索歌曲
- 歌曲操作
- 喜欢 / 取消喜欢
- 查看所属专辑
- 查看歌手主页
- 本地 api + 远程 api
- 适配系统媒体播放接口
- MPRIS (Linux)
- SMTC (Windows)
- 自定义Style
- 设置页面
- 用户数据缓存
- 打包分发
- Linux (rpm)
- Linux (deb)
- Linux (flatpak)
- MacOS
- Windows
本项目依赖上游的 neteasecloudmusicapi
项目(为nodejs程序),支持两种模式
local api
模式,依赖程序部署在本地- 访问速度很快,没有账号安全隐患
- 需要在本地部署依赖程序,占用较大存储空间(100MB左右)(此外还需要nodejs环境),运行时也需占用额外内存
remote api
模式,依赖程序部署在服务器- 本地无需安装大量依赖,节省空间,快捷部署
- 依赖程序部署在服务器,本项目提供了默认的公开服务器,但访问速度较慢(性能较弱)(如果您有空闲服务器,也欢迎提供)
- 如果使用第三方部署的 remote api ,可能存在安全隐患
依赖如下:
nodejs 版本 >= 14
请将项目 bin
目录下的 neteasecloudmusicapi.zip
解压到对应操作系统的指定路径:
OS | 解压到 |
---|---|
Linux | /home/$USER /.local/share/ncm-tui-player/ |
MacOS | /Users/$USER /Library/Application Support/ncm-tui-player/ |
Windows | C:\Users\$USER \AppData\Roaming\ncm-tui-player\ |
解压后的文件树如下:
ncm-tui-player
└── neteasecloudmusicapi
├── app.js
├── CHANGELOG.MD
├── data
├── ...
└── yarn.lock
切换到步骤 2.
中的目录,执行
cd neteasecloudmusicapi
npm install
本项目至少需要 gstreamer-base
gstreamer-good
和 gstreamer-bad
组件,
请参考 官方文档 自行安装对应系统的版本。
依赖如下:
Gstreamer 的安装与 local api
模式下相同。
运行时需要将 stderr
输出重定向。参考 ./bin/ncm-tui-player.sh
脚本。
除了使用本项目提供的打包,也欢迎您选择在本地自行编译。
根据 Gstreamer 官方文档 , 需要安装 Gstreamer 的开发环境和运行时环境,此处注意选择的版本应与你的 rust 工具链使用的编译环境相同:
- 如果你的 rust 工具链使用了
MSVC
,则需要下载 Gstreamer 的MSVC 64-bit runtime installer
和MSVC 64-bit development installer
- 如果你的 rust 工具链使用了
MinGW
,则需要下载 Gstreamer 的MinGW 64-bit runtime installer
和MinGW 64-bit development installer
安装时选择 Typical
配置即可。
安装后需要设置一些环境变量,以下演示中均以 Gstreamer 选择 MSVC 64-bit
版本且安装在 C:\gstreamer
路径的情况为例:
Path
变量中加入 Gstreamer 的 bin 目录C:\gstreamer\1.0\msvc_x86_64\bin
- 新建
GST_PLUGIN_PATH
变量,值为 Gstreamer 的插件目录C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0
至此 Gstreamer 安装完毕。
在编译本项目前需要设置 PKG_CONFIG_PATH
环境变量(永久或临时均可)为:
C:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig;C:\gstreamer\1.0\msvc_x86_64\lib\gstreamer-1.0\pkgconfig
(包含2个目录)。
https://gitlab.com/jcheatum/rmup
https://github.com/aome510/spotify-player
https://github.com/Rigellute/spotify-tui