LX Music:免费听歌、歌单存在本地的开源多音源音乐播放器
【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop
同一首歌在一个平台下架了,换个平台还有音源可播,你却还得再打开一个应用。LX Music 是一款基于 Electron + Vue 3 开发、Apache-2.0 协议的跨平台开源音乐播放器,Windows、macOS、Linux 都能装。它在多个平台里搜歌并合并展示,播放列表和收藏则存在你自己的电脑里。
它替你省掉的事
你不用挨个 App 找歌。在搜索框敲一次歌名,多个平台的结果会合并到一起排好序,支持的平台包括酷我、酷狗、QQ 音乐、网易云、咪咕。某首在 A 平台找不到,B 平台的音源能接上。
你不用把歌单交给第三方云。收藏、自建列表都存在本地一个 SQLite 数据库里,随时可以导出备份,换电脑、做镜像都不慌。
你不用在音质上将就。128k、320k、flac 等档位按每首歌和各音源的支持情况选,下载下来时封面、歌词还能写进文件里,断网也能放。
装完先动这三处 📦
从 release 页面下载对应平台的安装包,双击装完就能跑;想改代码自己构建则需要 Node 22 及以上:
git clone https://gitcode.com/GitHub_Trending/lx/lx-music-desktop cd lx-music-desktop npm install npm run dev- 先导入自定义源。自 v2.6.0 起软件不再内置在线音源,想在软件里播在线歌曲,要到"设置 → 基本"里导入一个自定义源脚本(第三方作者发布的 API 脚本),否则只能听本地音乐。
- 改音质。播放音质
player.playQuality默认是 128k,到"设置 → 播放"按你家的网络改成 320k 或无损。 - 开下载。下载功能默认关闭、默认存桌面,到"设置 → 下载"里启用并指定保存位置。主题、桌面歌词这些可以晚点再挑。
多源搜索、桌面歌词和主题,源码都在哪
一次搜索,多个平台一起回答
程序把歌名、艺术家信息交给你选定的音源去查,各平台返回的结果合并后统一展示。各平台的搜索、歌单、歌词接口是独立封装的,放在 src/renderer/utils/musicSdk/ 下:kw(酷我)、kg(酷狗)、tx(QQ 音乐)、wy(网易云)、mg(咪咕)各占一个子目录。各平台支持的音质档位写在同目录的 api-source-info.ts。
歌词可以不跟主窗口待着
"设置 → 桌面歌词"打开后,会弹出一个完全独立于主窗口的歌词窗,主窗口最小化都不影响它。横排竖排、字体字号、已唱和未唱行的颜色、透明度、锁屏置顶都可以调。把它钉在屏幕角落,当前行跟着自动滚动。这个窗口是单独打包运行的,全部代码在 src/renderer-lyric/。
一套皮肤就是一组颜色值
每个主题本质是一整套 CSS 颜色变量加一张背景图,集中在 src/common/theme/ 目录:index.json 里存着每个主题的名字、明暗模式和配色,背景图在同目录的 images/ 下。内置的"绿意盎然""蓝田生玉"等在设置里一键切换,照同样的格式改个背景图就是你自己的一套新皮肤。
可以拿它接的场景
🎧远程遥控本机播放。v2.7.0 起,"设置 → 开放 API"启用后会在本机起一个 HTTP 服务,暴露/play、/pause、/skip-next、/volume、/mute、/status、/lyric-all等接口。几行脚本就能实现"每天早上九点播指定列表",或者把播放状态喂给你的桌面小组件。实现就一个文件,在 src/main/modules/openApi/ 里。
多台电脑歌单一致。v2.2.0 起支持数据同步服务,部署在你自己的服务器上,两台以上电脑接入后,歌单、收藏、不喜欢的歌曲都保持同步,数据全程不经过别人的云。客户端与服务端代码同在 src/main/modules/sync/ 下,想自己魔改同步逻辑可以从这里入手。
从浏览器唤起来播。v1.17.0 起支持 Scheme URL(一种用自定义协议唤起桌面应用的方式),在浏览器点特定链接就能直接调用 LX Music 播放、搜索,配合油猴脚本体验更顺。
想读这份代码的话
技术栈是 Electron 40、Vue 3、TypeScript,构建走 webpack,本地数据用 better-sqlite3(内置 SQLite 数据库)存,当前版本 2.12.2。入口好认:src/main/ 是主进程,窗口、托盘、热键、同步、开放 API 都在 modules/ 下;src/renderer/ 是主界面;src/renderer-lyric/ 是桌面歌词窗;src/common/ 放两边共享的设置与类型定义。贡献流程不复杂:切 dev 分支开发,PR 也提给 dev。加新功能前先建 Issue 确认真的需要,修 bug 的 PR 附上复现方式,合并会顺很多。
如果你的歌分散在好几个平台、想一个入口搜全免费听,或者想把歌单握在自己手里而不是放公网,LX Music 是开源音乐播放器里完成度很高的一个选择。装好、导一个源、把音质调上去,它就能立刻干活;愿意读源码的人,还能顺手收获一份结构很规整的 Electron + Vue 3 桌面应用样本。
【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考