🎵VutronMusic v3.3.0 Preview 1
⚠️ Preview 版本:这是插件化重构的首个预览版本,核心功能已可用,但部分细节仍在打磨中。欢迎提交 Issue 反馈问题。
这次重构做了什么?
原版 VutronMusic 只支持网易云音乐一个数据源,流媒体等音源数据的代码实现与软件强耦合。这次重构引入了插件系统,将各个音乐平台抽象为独立插件,播放器本身不再和任何平台强绑定。
从用户的角度来说,最直观的变化是:你的本地音乐和各个在线平台之间,从此可以互通。
从开发者角度来说,规范的插件数据结构和要求,使其可以更方便地自行编写插件来接入其他平台,实现软件音源的快速拓展。
✨ 新特性
插件系统
现已支持以下插件:
- 🖥️ 本地音乐(Local)— 扫描并管理本地音频文件(mp3 / flac / wav / m4a / aac 等)
- ☁️ 网易云音乐(Netease)-- 由于用户习惯,软件依然内置了网易云api服务;
- 🐶 酷狗音乐(Kugou) -- 注意,这里只是提供了酷狗音乐的数据转化插件,软件本身并没有集合酷狗api,所以需要自己在github上下载酷狗api服务并部署,部署后在登陆界面里设置了api地址后即可使用;
- 🏠 自建流媒体(Emby / Jellyfin / Navidrome)
多源聚合
这是本次重构最核心的能力。同一首歌的不同信息,可以分别来自不同的插件:
- 用本地 flac 文件播放,享受最高音质
- 同时获取酷狗的歌词和封面
- 同时读取网易云的评论和收藏状态
插件之间互不干扰,框架负责协调,各自发挥所长。
自动刮削匹配
本地音乐和自建流媒体(Emby / Jellyfin / Navidrome)中的歌曲,在播放时会自动与所有已启用的线上插件进行匹配,无需手动刮削。
匹配成功后,即可直接获取对应歌曲在线上平台的评论、封面、歌词等信息。
听歌记录广播
播放一首歌,听歌记录可以同步上报到所有匹配过的平台。
例如:播放一首本地 flac,如果这首歌已匹配到网易云和酷狗,则本次播放记录会同时上报至两个平台——只听一遍,所有平台的记录同步更新。
音源启用与关闭
重构后的系统允许用户设置音源的开启状态。如果关闭了线上歌曲,则首页、探索页、音乐库都将隐藏,本地歌曲、流媒体等也将不会再从这些插件获取数据(除了歌曲封面外?)
其他类型的插件同理。
其他调整
新增了对ESLyric歌词的支持(jeffylin用户可以使用这种类型的歌词文件来启用逐字歌词功能);
新增了歌词、评论获取的插件设置;
其他;
🔧 其他改动
- 修复了若干网易云平台的已知问题,如扫码登陆的风控警告、听歌记录不生效的问题;
- 流媒体的全部歌曲的获取逻辑调整为:1. 设置为获取部分时,仅仅返回500条数据;2 设置为获取全部时,则循环获取,每次获取500条,避免出现获取数据超时导致为空的bug;
- 数据预加载:在播放歌曲时,也会延时加载下一首歌曲的数据,保证切歌的体验;
- 数据库结构全面重构,支持多插件、多来源的数据模型;
- 大部分原有功能已完成向新架构的迁移;
⚠️ 已知限制 / 注意事项
- 本版本为 Preview,可能会存在一些bug;
- 由于数据库结构变更较大, 【本次重构会使用新的数据库文件】,所有登陆信息、本地歌曲信息等都将重置;但理论上来说,切换回旧版本的话,原有的本地歌曲信息等也会得以保留。(待确认)
💬 反馈
使用过程中遇到问题,欢迎通过 Issues 提交,请附上:
- 操作系统版本
- 复现步骤
- 日志文件(
用户头像右击 → 打开日志文件夹)