Lmplayer
一款开源简洁高颜值的酷狗第三方客户端
Install / Use
/learn @lianchengwu/LmplayerREADME
wmPlayer - 基于 Wails3 的现代音乐播放器
<div align="center">一个基于 Wails3 和 Go 技术栈开发的现代化音乐播放器,支持在线音乐播放、本地音乐管理、桌面歌词显示等丰富功能。
</div>📸 应用截图
<div align="center">主界面

发现音乐

搜索功能

本地音乐

我喜欢的音乐

播放历史

碟片播放

✨ 主要特性
🎵 音乐播放
- 在线音乐: 支持酷狗音乐 API,海量音乐资源
- 本地音乐: 支持 MP3、FLAC 等多种音频格式
- 高音质: 支持无损音质播放
- 播放控制: 播放/暂停、上一首/下一首、随机播放、循环播放
🎨 用户界面
- 现代化设计: 基于 Web 技术的现代化界面
- 多主题支持: 浅色、深色、毛玻璃等多种主题
- 响应式布局: 自适应不同屏幕尺寸
- 无边框窗口: 自定义标题栏,更加美观
🎤 歌词功能
- 桌面歌词: 独立的 OSD 歌词显示程序
- KDE Plasma 集成: 专为 KDE 桌面环境优化的歌词插件
- 多格式支持: 支持 LRC 和 KRC (卡拉OK) 格式
- 实时同步: 通过 SSE 实现歌词实时同步
🔧 系统集成
- 媒体键支持: 支持键盘媒体键控制
- 系统托盘: 最小化到系统托盘,支持托盘菜单控制
- 自动启动: 支持开机自动启动
- 跨平台: 支持 Windows、macOS、Linux
📚 音乐管理
- 搜索功能: 支持歌曲、专辑、歌手、歌单搜索
- 收藏管理: 收藏歌曲、专辑、歌单
- 播放历史: 记录播放历史
- 歌单管理: 创建和管理个人歌单
- 本地扫描: 自动扫描本地音乐文件
🚀 快速开始
环境要求
- Go: 1.24.0 或更高版本
- Node.js: 用于前端构建
- Wails3: v3.0.0-alpha.17
- 操作系统: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+)
安装依赖
# 安装api
- [酷狗API](https://github.com/MakcRe/KuGouMusicApi)
export platform=lite
export PORT=40000
./KuGouMusicApi
# 克隆项目
git clone https://github.com/lianchengwu/wmplayer.git
cd wmplayer
# 安装 Go 依赖
go mod tidy
# 安装前端依赖
cd frontend
npm install
cd ..
开发模式
# 启动开发服务器
wails3 dev
构建应用
# 构建应用
wails3 build
打包发布
# 打包应用
task package
📁 项目结构
wmplayer/
├── main.go # 应用入口
├── go.mod # Go 模块文件
├── Taskfile.yml # Task 构建配置
├── build/ # 构建配置
│ └── config.yml # Wails 配置文件
├── frontend/ # 前端代码
│ ├── index.html # 主页面
│ ├── app.js # 应用入口
│ ├── *.js # 各功能模块
│ └── dist/ # 构建输出
├── lyric/ # 歌词系统
│ ├── osdlyric/ # OSD 桌面歌词
│ └── plasma-lyrics/ # KDE Plasma 歌词插件
├── public/ # 静态资源
├── *service.go # 后端服务模块
└── README.md # 项目文档
🎵 歌词系统
wmPlayer 提供了两种歌词显示方案:
🖥️ OSD 桌面歌词
独立的桌面悬浮歌词程序,支持:
- 透明度调节 (0.01-0.90)
- 字体大小调节 (12-48px)
- 文字颜色自定义
- 窗口锁定/解锁
- 拖拽移动和调整大小
cd lyric/osdlyric
make
./osd_lyrics
🎨 KDE Plasma 歌词插件
专为 KDE Plasma 桌面环境设计的歌词插件:
- 完美集成 Plasma 桌面
- 卡拉OK 效果支持
- 自适应主题
- 平滑动画效果
cd lyric/plasma-lyrics
./install.sh
🔧 配置说明
应用配置
应用配置文件位于用户目录下的 .wmplayer/ 文件夹中,包含:
- 播放设置(自动播放、音量等)
- 界面设置(主题、语言等)
- 行为设置(关闭行为、自动启动等)
歌词配置
歌词系统通过 SSE (Server-Sent Events) 与主应用通信:
- 端点:
http://127.0.0.1:18911/api/osd-lyrics/sse - 格式: JSON
- 支持格式: LRC、KRC
🎯 功能模块
登录服务 (LoginService)
- 手机验证码登录
- 二维码登录
- 微信登录
- 用户状态管理
搜索服务 (SearchService)
- 歌曲搜索
- 专辑搜索
- 歌手搜索
- 歌单搜索
播放服务
- 音频解码
- 播放控制
- 音量控制
- 播放模式
本地音乐服务 (LocalMusicService)
- 本地文件扫描
- 元数据提取
- 封面提取
- 音乐库管理
缓存服务 (CacheService)
- 音乐缓存
- 封面缓存
- HTTP 服务器
- SSE 推送
🛠️ 开发指南
添加新功能
- 后端服务: 在根目录创建
*service.go文件 - 前端模块: 在
frontend/目录创建对应的 JS 文件 - 注册服务: 在
main.go中注册新服务
调试技巧
# 查看详细日志
wails3 dev -loglevel debug
构建优化
- 使用
task build进行优化构建 - 前端资源会自动压缩和打包
- Go 代码会进行交叉编译
🤝 贡献指南
- Fork 本项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
📄 许可证
本项目采用 GPL-3.0 许可证 - 查看 LICENSE 文件了解详情。
⚠️ 免责声明
关于本项目
- 本程序是酷狗第三方客户端,并非酷狗官方
- 需要更完善的功能请下载官方客户端体验
使用声明
- 本项目仅供学习使用,请尊重版权
- 禁止利用此项目从事商业行为及非法用途
- 音乐平台不易,请尊重版权,支持正版
版权声明
- 使用本项目的过程中可能会产生版权数据
- 对于这些版权数据,本项目不拥有它们的所有权
- 为避免侵权,使用者务必在 24 小时内清除使用本项目的过程中所产生的版权数据
责任限制
本项目不承担以下责任:
- 因使用或无法使用本项目引起的任何直接、间接、特殊、偶然或结果性损害
- 包括但不限于:
- 商誉损失
- 停工损失
- 计算机故障或故障引起的损失
- 其他商业损害或损失
法律合规
- 禁止在违反当地法律法规的情况下使用本项目
- 对于因使用本项目造成的任何违法违规行为,由使用者自行承担全部责任
- 本项目不承担任何直接、间接、特殊、偶然或结果性责任
其他说明
- 本项目仅用于技术研究,不涉及任何商业行为
- 不接受任何形式的商业合作、广告或捐赠
- 如官方音乐平台对本项目有异议,请通过 GitHub Issues 联系我们,我们将及时处理
🙏 致谢
💬 交流群组
- Telegram 群组 - 加入我们的 Telegram 群组进行交流讨论
<div align="center">
如果这个项目对你有帮助,请给它一个 ⭐
</div>Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
