当前位置: 首页 > news >正文

LX Music 免费桌面播放器:五大音源聚合搜索,一个窗口搞定听歌到囤歌

LX Music 免费桌面播放器:五大音源聚合搜索,一个窗口搞定听歌到囤歌

【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop

端口 23330 藏在 LX Music 设置的一个角落里——启用后软件会起一个本地 HTTP 服务,任何脚本都能接管播放。先别急,看看它最基础的能力:这是一个 Apache License 2.0 许可的免费开源桌面音乐播放器,把酷我、酷狗、QQ 音乐、网易云、咪咕五个音源聚合进同一个搜索框,搜索、试听、离线保存一窗完成。

技术栈是成熟的组合:Electron 容器加 Vue 3 + TypeScript 前端,歌单、下载任务等本地数据存放在 better-sqlite3 里;Windows 7 及以上、macOS、Linux(AppImage / deb / rpm)都能跑。

搜索、列表、播放同屏完成,切歌不用换窗口

📦 一分钟选对安装包:Windows、macOS、Linux 三分法

  • Windows:有安装版(setup)和绿色版(green)两种。安装版支持自动更新,绿色版不支持,打算长期用就选安装版。
  • 一个容易踩的坑:Windows 安装版如果当初用管理员权限装了,后续自动升级可能出现"旧版卸了、新版装不上"。安装时选"为当前用户安装"、放在当前用户目录下,能绕开这个问题。
  • macOS:.dmg 包,Apple Silicon 和 Intel x64 分开发布,按 CPU 架构选。
  • Linux:AppImage、.deb、.rpm、.pacman 四种,按发行版挑。

首次启动,先把这三处设置调对

第一次打开建议先别急着搜歌,花一分钟确认三件事:

  1. 音乐源:播放链接依赖设置里的"自定义源"脚本,先确认脚本就位且可用。所有歌都提示"请求异常"时,多数是脚本失效或网络问题,不是软件本身坏了。
  2. 下载路径:默认是桌面,建议改到独立分区目录。之后下载如果报ENOENT: no such file or directory, mkdir,基本就是该目录没有读写权限。
  3. 桌面歌词:打算常用就提前在设置里开启,把字体和排版配好,省得以后找入口。

还有个隐藏陷阱:设置 → 网络里的代理配错后,整个软件直接断网——排行榜、歌单、搜索全加载不出来。排查网络问题,先看这里。

🎯 搜索与播放:从试听到队列

顶部搜索框输入关键词,结果带封面、歌手、音质(128k / 320k / flac)等信息,顶上还有音源下拉,随时切换当前音源——一个源查不到就换源再试。

操作逻辑接近 Windows 选文件:单击试听一首;想连播就按住CtrlShift多选,右键加进"我的列表"再播放。点过的歌会自动收进试听列表,适合先快速过一遍,再决定留哪些。

队列机制有一点要知道:"稍后播放"是优先级最高的队列,按"下一曲"时优先消耗它;但直接点其他列表切歌会把这个队列清空,用的时候留意一下。

💾 囤歌离线:下载时把歌词一起带上

列表里右键 → 下载,可以选音质,同时勾选 LRC 歌词和封面,歌词还能直接内嵌进音频文件,默认 3 个任务并发跑。下载入口之外,路径、命名相关选项都在设置 → 下载里,配合前面的"下载路径"设置一起调好。

⚙️ 深度玩法:音效、批量操作、开软件即播

  • 音效:均衡器、卷积混响(模拟厅堂、房间声场)、音调偏移、0.5~2 倍播放速度,全在播放栏的音效入口里。
  • 批量操作Ctrl+A全选后右键,可以批量添加、批量下载;"我的列表"里按住Ctrl拖动,能调整列表顺序。
  • 命令行 / Scheme:启动参数-search="歌名"-play="type=songList&source=myList&name=列表名"放进快捷方式,开软件即搜即播;lxmusic://Scheme 则支持从浏览器等外部场景调起搜索与播放。

🔌 对外接一根线:开放 API、自定义源、数据同步

这部分给想把软件"接进其他工具"的人。

开放 API:设置 → 开放 API 启用后,本地起一个 HTTP 服务(默认端口 23330),第三方脚本就能控制播放、读取状态:

# 获取当前播放状态(歌名、进度、歌词行等) curl http://127.0.0.1:23330/status # 暂停播放 curl http://127.0.0.1:23330/pause

/subscribe-player-status接口用 SSE 实时推送歌词行、进度等字段,做桌面歌词挂件很顺手。

自定义源脚本:源脚本是普通 ES6+ 的 JS 文件,靠事件机制和主程序通信,声明支持的源与音质就能接入新音频源,写请求的门槛不高。

数据同步:v2.2.0 起提供独立同步服务组件,自行部署后拥有私有化多端同步;软件内置的局域网同步(默认端口 23332)则适合在同一台路由器下和移动版快速同步列表。

🎨 主题与快捷键:把听歌环境调成自己的

主题库内置多套背景,也支持自定义导入,内置的几套效果:

水墨风格背景为内置主题,在设置 → 主题设置里切换

月夜款配色更素,搭配桌面歌词很适合深夜听歌

快捷键分"本地"(窗口聚焦时生效)和"全局"(系统级,默认关闭)两档,Mod在 Windows/Linux 是Ctrl,macOS 是Command。默认绑定:

  • Mod+F5:播放 / 暂停(本地)
  • Mod+← / Mod+→:上一曲 / 下一曲(本地)
  • F1:聚焦搜索框(本地)
  • Mod+Alt+F5:播放 / 暂停(全局,默认关)
  • Mod+Alt+0:显示 / 隐藏桌面歌词(全局,默认关)

以上都能在设置 → 快捷键里重新映射。

数据默认存储目录(备份迁移时用得上):

  • Windows:%APPDATA%/lx-music-desktop
  • macOS:~/Library/Application Support/lx-music-desktop
  • Linux:~/.config/lx-music-desktop

Windows 有个小细节:程序目录里如果存在portable文件夹,软件会自动改用它存数据,配合绿色版可以整套拷进 U 盘带走。

🩺 出问题时:按现象对号入座

所有歌曲提示"请求异常"或EAI_AGAIN原因是网络 / DNS 访问不了接口服务器。处理:先用移动热点验证,再把 DNS 改为223.6.6.68.8.8.8,同时关掉软件内的代理。

搜索正常,播放却不出声或歌不对原因是自定义源脚本过期了。处理:更新源脚本,或在设置里切换其他接口。

下载报ENOENT: ... mkdir原因是下载目录没有读写权限。处理:到设置 → 下载里换一条路径。

macOS 提示应用"已损坏"原因是未签名应用被系统隔离。处理:终端执行sudo xattr -rd com.apple.quarantine移除该 .app 的隔离属性。

Windows 10/11 窗口不显示原因是 GPU 沙箱兼容问题。处理:快捷方式启动参数加--disable-gpu-sandbox;无效的话再逐个试-dha--disable-gpu

🤝 想参与贡献:Issue 与 PR 的约定

项目欢迎 PR,两条约定:新功能先开 Issue 确认必要性;修 bug 的 PR 要附重现方式与修复前后说明。

开发环境最低要求 Node.js ≥ 22、npm ≥ 8.5.2,在 dev 分支开发并向 dev 提交 PR:

git clone https://gitcode.com/GitHub_Trending/lx/lx-music-desktop

核心代码都在src/下:主进程(窗口、IPC、同步服务、开放 API)在 src/main/,界面在 src/renderer/,桌面歌词窗口在 src/renderer-lyric/,五个音源的接口实现集中在 src/renderer/utils/musicSdk/,想加新音乐源就从这里对应目录读起。


项目定位是技术研究,使用中产生的版权数据请及时清理,长期使用建议支持正版。这样,开头那个"一个搜索框 + 一个音源下拉"的组合,才能长久地替你听下去。

【免费下载链接】lx-music-desktop一个基于 Electron 的音乐软件项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4303554.html

相关文章:

  • 3分钟上手 RuView:不用摄像头做 WiFi 人体姿态追踪的完整指南
  • 5步用熟OBS Studio:从第一次录屏到开播的快速指南
  • 无屏AI硬件“甜甜圈”解析:从语音交互到嵌入式工程实践
  • C++八股勘误:const指针、shared_ptr线程安全与vector扩容真相
  • 纯CPU推理引擎llambda.lisp:Common Lisp实现AVX2加速的LLM推理
  • C#开发Basler工业相机读取教程:pylon SDK图像采集与触发配置
  • 7年Java后端面试复盘:项目经验、高并发与系统设计核心考点
  • 用MATLAB有限元法分析三维光子晶体带隙
  • OpenAI Astra解读:多模态模型API调用与ChatGPT客户端报错排查指南
  • 贝叶斯AI崛起?深度学习工程师该多带一件救生衣
  • Fermat主动拉普拉斯学习:低标注成本高光谱图像分类方法
  • Java面试八股文系统整理:基础、集合、JVM、并发全覆盖
  • MATLAB管道瞬变流仿真:特征线法、边界条件与工程实践
  • 2016搜狐研发工程师笔试题解析:从算法到操作系统的校招备考指南
  • 用Python构建GitHub风格阅读热力图:从数据到自动更新
  • LiveMem:破解长时LLM推理的记忆断层与状态连续性难题
  • MiniMind 医疗 LoRA 微调实战:2 小时 3 元训出 64M 垂直医疗助手
  • 本地部署多智能体项目 my_ai_town:从搭建到批量任务实践
  • 扫地机器人上下水版是什么?石头P20 Ultra Plus安装与选购指南
  • 网易iOS校招笔试复盘:Runtime、内存管理与多线程核心考点解析
  • 谷歌AI重组背后:大模型竞争进入工程战,开发者如何应对Gemini新格局
  • 智能体越狱防护:工具调用权限与多层拦截机制解析
  • GPT-SoVITS完整指南:用1分钟语音克隆一个能用的声音
  • 多模态智能体落地实战:基于Qwen与Milvus的全链路工程指南
  • Python面向对象编程:类与继承核心知识详解
  • OpenAI自研Jalapeño芯片:效率与速度双提升,AI算力基建变局
  • 邻域注意力Transformer在LAD三维分割中的应用
  • 终端AI编程可视化预览:/show-me斜杠命令实测
  • 人形机器人开发实战:从PyBullet仿真到工程落地
  • DBeaver 数据透视表字段选择完全指南:3 步自定义显示字段