ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

LX Music 桌面版:免费跨平台音乐播放器,七大音乐源聚合搜索一次命中

2026/8/30 20:58:50 拓冰建站 浏览量
LX Music 桌面版:免费跨平台音乐播放器,七大音乐源聚合搜索一次命中 LX Music 桌面版免费跨平台音乐播放器七大音乐源聚合搜索一次命中【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktopLX Music 桌面版lx-music-desktop是一款基于 Electron 与 Vue 3 的免费开源音乐软件聚合搜索了酷我、酷狗、QQ、网易云、咪咕、虾米、百度 7 个音乐平台的公开接口。它解决的具体痛点是你想听的一首歌往往散落在多个 App 里而它让一次搜索就能拿到跨平台的全部候选。当前版本 v2.12.2运行在 Electron 40 之上覆盖 Windows 7 及以上、macOS、Linux 三大桌面平台。 打开软件一次回车拿到全平台候选我们打开软件左侧是歌单栏顶部搜索框已聚焦光标在闪。输入周杰伦 晴天回车软件对启用的音乐源同时发起搜索请求同一首歌在各平台的候选并排铺开每行标着来源。你按音质和偏好选一首点击后本地按歌手、歌名、时长做多级匹配锁定目标音频链接则来自你在设置中挑选的自定义源而不是平台直连。围绕这套源体系各平台提供的能力并不完全相同音乐源搜索歌词排行榜歌单热歌评论酷我 kw✓✓✓✓✓✓酷狗 kg✓✓✓✓✓✓QQ 音乐 tx✓✓✓✓✓✓网易云 wy✓✓✓✓✓✓咪咕 mg✓✓✓✓✓✓虾米 xm✓✓✓✓✓✓百度 bd✓✓✓✓✓✓洛雪音乐助手主界面顶部搜索框、左侧歌单与底部播放控制区一次搜索即可聚合 7 个平台的候选歌曲⚙️ 七个文件夹加一张路由表聚合搜索的实现方式音乐源模块集中在 musicSdk/ 目录每个平台一个独立文件夹src/renderer/utils/musicSdk/ ├── index.js # 源注册表 并行搜索聚合 ├── api-source.js # 音频地址源的路由层 ├── api-source-info.ts # 源与音质的声明配置 ├── kw/ kg/ tx/ wy/ mg/ bd/ # 各平台独立适配模块 └── xm.js # 虾米已停止服务保留实现为什么每个平台要拆成独立文件夹因为 7 个平台的接口协议、参数签名、返回结构完全不同kw/index.js里酷我按 songmid 查详情网易云则用完全不同的加密参数。拆开后某个平台接口变动只需改自己目录内的文件index.js之外的代码零改动。元数据与音频地址的职责分离是这套架构的关键。搜索、歌词、排行榜、歌单直接请求各平台公开接口而音频链接本身不由软件内置接口提供走的是用户设置的自定义源由 api-source.js 统一转发。说白了api-source.js就是一张路由表根据你当前选中的源把要这首歌的 320k 链接的请求转发给对应源模块。这样音频源的失效与替换不会影响搜索和歌词功能两者互不牵连。搜索结果聚合的聚合二字体现在两处。searchMusic对所有启用的源并行发请求单源超时或失败直接返回空不拖慢整体findMusic再按歌手全等加歌名全等加时长相等逐级放宽的规则给候选排序把最匹配的结果顶到前面重复歌曲自然被去重收敛。 技术选型与全平台构建产物清单依赖选得克制每项都有明确理由Electron 40跨平台桌面容器一套代码覆盖三大系统Vue 3.3渲染层响应式 UIComposition API 组织复杂播放状态TypeScript主进程、worker 与同步模块全量类型约束better-sqlite3本地歌单、下载任务、设置全部落库同步查询快webpack electron-builder打包与分发管线构建脚本集中在 build-config/平台构建产物Windowsexe 安装包x86 / x64 / arm64、7z 绿色版、Windows 7 兼容版Linuxdebamd64 / arm64 / armv7l、rpm、AppImage、pacmanmacOSdmgx64 / arm64数据默认存放在系统标准位置Linux 的~/.config/lx-music-desktop、macOS 的~/Library/Application Support/lx-music-desktop、Windows 的%APPDATA%/lx-music-desktopWindows 下若程序目录存在portable文件夹则自动改用其存储方便 U 盘携带。个性化入口集中在 src/common/theme/主题定义在index.json主色调以 CSS 变量描述一套色板自动生成从 10% 到 90% 的透明度色阶想加主题改完配置跑一次npm run build:theme即可。内置背景里既有中国风山水也有节庆主题中国风山水主题背景与聚合搜索结果页的深色界面搭配营造沉浸式听歌氛围月夜流星主题背景主题系统的背景图同样支持自定义更换 开放 API 与自建同步服务动手用户有三条扩展路径。开放 APIv2.7.0 起在设置中启用后本地启动一个 HTTP 服务服务实现见 openApi/最小调用只有两行# 查询当前播放状态歌名、歌手、进度 curl http://127.0.0.1:10754/status # 播放暂停 curl -X POST http://127.0.0.1:10754/play/status之外还支持 SSE 订阅状态一变就推一条事件做桌面歌词或状态栏展示不用轮询。典型场景接入 Home Assistant 这类智能家居系统控制播放浏览器脚本联动触发播放把/status输出接到第三方面板上显示正在播放什么。自建同步服务v2.2.0 起数据同步服务独立维护客户端与同步端的代码在 sync/ 下部署到自己的 Node.js 服务器后歌单、设置、播放历史在多台设备间私有同步数据不过第三方的手。接入新音乐源在musicSdk/下新建目录实现musicSearch、getLyric、leaderboard等标准方法再回到index.js的源列表里注册一个 id聚合搜索会自动把新源纳入并行请求。 五分钟跑起来然后动手改它搭建开发环境确认 Node.js 22 以上、npm 8.5.2 以上见package.json的 engines 字段克隆仓库git clone https://gitcode.com/GitHub_Trending/lx/lx-music-desktop在仓库目录执行npm install执行npm run dev进入开发模式窗口几秒内拉起先用npm run lint确认本地 ESLint 规则通过参与贡献在dev分支开发并提 PR新功能建议先开 Issue 说明确认需求确实存在修复 bug 的 PR 需要附修复前后说明与重现方式代码过 ESLint 标准配置加 TypeScript 类型检查Vue 组件走vue-eslint-parser把仓库加进你的书签用歌手名 歌名的格式跑一次跨平台搜索对比 7 个源返回的结果差异再把开放 API 打开让浏览器或脚本读一次/status的输出这两个动作比读完这篇文档更快建立直觉。【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考