本帖最后由 福仔 于 2025-6-13 18:01 编辑
桌面歌词.zip
(773.76 KB, 下载次数: 9)
lyric_exe 桌面歌词模块
一个轻量、高效的桌面歌词显示工具,支持主流逐字歌词格式,仅需几行代码即可集成。支持通过 WebSocket 与播放器通信,可作为独立程序或 DLL 嵌入使用。
特性
- 支持逐字歌词显示(KRC / QRC)
- 支持普通歌词(LRC)逐行显示
- 可作为独立
EXE 运行或嵌入 DLL
- 支持通过 WebSocket 与播放器通信
- 跨播放器,零耦合,轻松集成
支持的歌词格式
格式 |
来源 |
支持逐字高亮 |
说明 |
.krc |
酷狗音乐 |
✅ |
支持逐行 + 逐字高亮 |
.qrc |
QQ 音乐 |
✅ |
支持逐行 + 逐字高亮 |
.lrc |
通用歌词 |
❌ |
仅支持逐行显示 |
快速开始
方式一:独立程序
通过命令行启动 lyric_exe.exe ,使用 WebSocket 与播放器通信:
# 启动为 WebSocket 服务端(播放器连接上来)
lyric_exe.exe --ws-server=9001
# 启动为客户Duan连接已有服务端
lyric_exe.exe --ws-client="ws://127.0.0.1:9001"
方式二:DLL 嵌入调用
在播放器中加载 lyric_desktop.dll 并调用导出函数进行控制。适合对接自定义控制逻辑,接口说明见文档。
WebSocket 通信协议
通过 WebSocket 控制歌词显示,发送 JSON 消息:
-
加载歌词文件:
{
"id": "消息id",
"method": "lyric_desktop_load_lyric",
"params":
{
"data": "已经解密的歌词明文数据",
"file": "歌词文件的完整路径, file 和 data 2选1, 两个都有的情况优先使用 data",
"lyric": "data或者file 歌词的类型, 目前支持 krc, qrc, lrc 这3种"
}
}
-
设置播放进度:
{
"id": "消息id",
"method": "lyric_desktop_update",
"params":
{
"time": 12345
}
}
完整命令请参考压缩包内《说明文档.txt》。
播放器接入流程
- 启动
lyric_exe ;
- 播放器连接 WebSocket;
- 播放器发送歌词路径(支持
.krc / .qrc / .lrc );
- 播放器持续发送播放时间戳(单位:毫秒);
- 歌词模块自动显示、同步、逐字高亮。
压缩包内容
lyric/
├── bass.dll # 测试部分音乐用
├── BASS类.ec # 易语言使用的bass操作模块
├── lyric_exe.exe # 独立歌词程序
├── lyric_desktop.dll # 可选 DLL 接口
├── 交互说明.txt # 命令行参数 + 通信协议说明
├── 桌面歌词.e # 测试用歌词文件
联系作者
项目有使用到我一些常用代码, 懒得扣出来了, 所以仓库里的代码会缺少一小部分
但是核心的逻辑都是完整的, 缺少的只有编码转换和D2D相关的一些封装
95% 的代码开源我都不敢发源码区....
License
Apache 2.0 协议,支持商业使用
如果你觉得这个项目对你有帮助,欢迎 Star ⭐ 支持一下!
|