文章目录
-
- 一、升级点
-
- [1.1 更多音源](#1.1 更多音源)
- [1.2 UI优化](#1.2 UI优化)
- [1.3 增加WASAPI独占模式](#1.3 增加WASAPI独占模式)
- [1.4 性能优化](#1.4 性能优化)
- [Navidrome 简介与使用](#Navidrome 简介与使用)
-
- [示例:使用预编译 `.deb` 安装包(推荐)](#示例:使用预编译
.deb安装包(推荐))
- [示例:使用预编译 `.deb` 安装包(推荐)](#示例:使用预编译
之前做了一个音乐播放器。
9月13号,我发布了第一版,以及文章和视频,有不少朋友提了建议和批评,非常感谢。
https://mp.weixin.qq.com/s/ysRpJZx43u_ltmJw3QHCCQ
经过2个星期的打磨,现在版本已经升级到0.4.1了,我目前觉得效果还行,故再次分享出来,请大家使用和指导。
🔗地址:https://github.com/LingyunStudio/RustMusic
详细的介绍看上面之前发的文章即可,本文主要介绍一下升级/优化的内容。
最新版的视频展示:https://space.bilibili.com/434633524
本软件不提供音源,音源来自你自己的账号权益,请支持正版。技术上可以实现,但我不能做。
一、升级点
写一下主要的吧。
1.1 更多音源
- 支持网x云、QX音源、K狗,其实后面2个是一家的:
- 登录后,就可以导入你的歌单了,支持一键全部导入,登录后你有会员即可听VIP歌曲
- 歌词支持逐字显示,暂时仅支持前面2个音源
- 内置了3大音源的一些歌单,比如:热歌榜、新歌榜
- 点击歌手名或者专辑名,可以查看该歌手/专辑的更多内容
- 支持B站:
- 仅播放音频,不播放视频
- 粘贴视频url、BV号均可
- 支持收听某一UP主的所有视频
- 支持收藏UP主
- UP主视频支持排序:最新、最多播放、最多收藏
- 登录后可以播放自己的收藏夹内容
- 支持Navidrome:
- 即收听自己服务器上保存的歌曲
- Navidrome教程下文写了

1.2 UI优化
- 改成无边框的简约设计。
- 新增了一些内置皮肤。
- 用户可以自定义背景。

1.3 增加WASAPI独占模式
简而言之就是,软件独占一个音频输出设备,比如耳机,其它任何软件都不能再使用这个设备播放声音了。
软件独占音频输出设备,可以在一定程度上提高收听效果。
注意:
- 输出设备支持WASAPI独占才行
- 开启后,下一首歌曲生效
- 关闭后立即生效
- 开启时,其它音频、视频会无法播放,关闭独占立刻恢复
1.4 性能优化
- 封面三级缓存:160px 列表小图 / 600px 详情图按场景加载,滚动解码内存降一个数量级
- 大列表虚拟化渲染,DOM 与解码缓存不随曲库规模线性增长
- 托盘隐藏即挂起 WebView 并主动裁剪工作集:788MB → 66MB 仅需约 2 秒
- 扫描并行度受控、在线缓存防御性封顶,长时间重度使用不再只增不减
日常听歌,且软件处于前台时,内存占用约200-300MB。
软件最小化到托盘后,内存立即降低到几十MB。
浏览长歌单、浏览B站UP主的视频(大封面)的时候,内存会升高(尤其是浏览多个B站UP主的很多视频的时候),最多能到1GB左右,这个我觉得还是能接受的,而且最小化时会立即下降。
文章开头分享的视频里面全程展示了内存变化情况。
其它的就是各种bug修复了。
当然了,现在可能还有一些不完美的地方,不断改进嘛。
这里面很多优化都来自于大家的建议,这种感觉很好,感谢!
Navidrome 简介与使用
感兴趣的看看就行。
Navidrome 是开源、轻量的个人音乐服务器和网页流媒体播放器。可托管本地音乐库,用浏览器或第三方 App 随时随地听歌,相当于私有 Spotify / Apple Music。
简单来说就是:你把歌曲文件放在你的服务器上面,然后使用Navidrome 这个软件来管理,你就可以通过网页在任意设备上收听服务器上的歌曲了。
音源的话,其实你搜一下或者问下AI就行,有很多的,我不写出来咯。
核心特点:
- Go 编写,资源占用极低,树莓派、低配 NAS、廉价云服务器均可流畅运行。
- 兼容 Subsonic API,支持音流、DSub、Play:Sub、Amperfy 等第三方客户端。
- 支持 Windows、macOS、Linux,常用 Docker 部署;自带现代化 Web 播放器。
- 多用户,各自拥有播放历史、收藏、评分和歌单。
- 自动读取音乐标签,可接入 Last.fm / Spotify 补全封面和艺术家简介。
**适用场景:**电脑或 NAS 中有大量本地音乐,尤其无损音乐,想在外用手机随时流播,又不占手机空间。Navidrome 是目前流行的个人云音乐方案之一。
在 Linux(以 Ubuntu / Debian 系为例)上安装 Navidrome,官方提供了两种主要方式,当前最新版本为 v0.64.2 。可以直接前往 Navidrome Releases 查看各架构的下载包。
官网:https://www.navidrome.org/docs/installation/linux/
GitHub:https://github.com/navidrome/navidrome/
示例:使用预编译 .deb 安装包(推荐)
使用 .deb 会由包管理器自动处理 ffmpeg 等依赖,后续维护也更方便。
(1)更新系统并准备环境
bash
sudo apt update && sudo apt upgrade -y
(2)下载最新版本的安装包(以 64 位 x86_64 架构为例):
bash
wget https://github.com/navidrome/navidrome/releases/download/v0.64.2/navidrome_0.64.2_linux_amd64.deb
(3)安装
推荐使用 apt 本地安装,它会自动补齐依赖:
bash
sudo apt install ./navidrome_0.64.2_linux_amd64.deb
(4)配置音乐库路径
建议使用Navidrome 配置文件里面设置的默认路径,或者非root目录以外的路径。
查看配置文件:
bash
sudo cat /etc/navidrome/navidrome.toml
可以看到:
bash
DataFolder = "/var/lib/navidrome"
MusicFolder = "/opt/navidrome/music"
默认的音乐文件路径就是:/opt/navidrome/music
上传音乐文件到这个目录。
(5)给新音乐目录赋予正确的权限
bash
sudo chown -R navidrome:navidrome /opt/navidrome/music
(6)重启 Navidrome 服务
bash
sudo systemctl restart navidrome
(7)查看运行状态
bash
systemctl status navidrome

成功检测到2个音乐文件。
(8)启动并设置开机自启
bash
sudo systemctl enable --now navidrome
启动成功后,在浏览器访问 服务器ip地址:4533,首次打开会提示创建管理员账户,记一下用户名和密码。

点击界面右上角头像可以设置中文:

其实只是用Navidrome也是可以的,无论手机还是电脑,打开链接就可以播放你存在服务器里面的歌曲了。
我只是在软件里面支持了Navidrome歌曲的播放。
我不使用这个,是有朋友提了这个建议,我看了下Navidrome还不错,就添加了这个功能。
软件支持最好的是win11,win10我懒得测试了。
Linux和macos的,可以自己用AI构建一下,我没那么多精力了,反正是开源的嘛,找AI改一改很快的。