Lumina 把读盘、封面、音轨和歌词放在同一个播放界面里。旋转光盘是视觉中心,但真正需要处理的是光驱读取、音频排程与版本匹配。

Lumina 官网项目配图。
Lumina 官网项目配图。

仓库创建:2026-07-30 14:37(不等同于项目开工日期)

本篇参考的默认分支提交:2026-07-30 15:19 · d4065ab1

时间采用 UTC+8。文章发布时间是本次整理时间,不按 GitHub 历史日期倒填。

从光盘到音频流

项目面向 Windows Audio CD,而不是普通数据光盘。桌面主进程通过 ffmpeg 与 libcdio 读取 PCM,再交给 Web Audio 排程播放。浏览器界面并不直接播放 .cda 文件。

开始播放和切歌之前会预缓存约 12 秒数据,界面显示 TRACK CACHE 进度。缓存不能消除所有光驱问题,但能为 USB 光驱短暂降速留出余量,也避免把后台等待伪装成没有反应的按钮。

现场版歌词为什么难匹配

同名歌曲在录音室版与现场版之间,可能有不同前奏、对白和时长。Lumina 优先结合专辑、曲名、歌手与 CD 实际轨长请求歌词;精确匹配不可用时,再考虑现场标记和候选版本。

即使匹配策略更细,公共歌词库缺少对应演出的时间轴时仍可能偏移。项目保留了这一限制,没有把自动匹配描述成对所有唱片都成立的保证。

本地播放,按需查询资料

音频读取与播放发生在本机,不上传光盘音频;网络用于查询专辑、封面和歌词。运行前应确认光驱能读取 Audio CD,且 ffmpeg 带有 libcdio 支持。界面层与设备读取层分开后,问题也更容易定位:先确认碟片和音频流,再检查元数据与歌词。

对应版本与提交记录

以下为采集时默认分支的近期提交,链接保留原始记录。

资料来源:README 固定版本 · GitHub 仓库。

标签: none

添加新评论

  • 上一篇: 日志1
  • 下一篇: 没有了