歌词源与优先级
Zephyrus Player 同时接入自有歌词库、AMLL 与音乐平台逐字歌词。加载顺序固定,较高优先级的来源失败时才继续回退。
| 优先级 | 来源 | 逐字 | 背景词 | 对唱 | 翻译/罗马音 |
|---|---|---|---|---|---|
| 1 | Zephyrus TTML | 是 | 是 | 是 | 取决于文件 |
| 2 | AMLL TTML | 是 | 是 | 是 | 取决于文件 |
| 3 | 网易云 YRC | 是 | 否 | 否 | 支持 |
| 4 | QQ QRC | 是 | 否 | 否 | 支持 |
| 5 | LRC | 行级 | 否 | 否 | 支持翻译 |
TTML
TTML 是功能最完整的来源。主歌词、x-bg 背景声部和第二演唱者可以使用独立时间轴。应用会先请求自有仓库,再回退 AMLL;成功结果缓存在设备上。
播放开始时不等待 TTML。平台 YRC/QRC 可以先驱动滚动歌词和高潮效果,TTML 稍后成功时在下一歌词行边界接管,避免半个词中途跳变。
网易云 YRC
YRC 提供行开始、行时长和词级时间。翻译读取 tlyric/ytlrc,罗马音读取 romalrc/yromalrc。没有 YRC 时继续使用 LRC。
QQ QRC
QQ 歌词通过项目网关请求 GetPlayLyricInfo,使用锁定版本的 qrc-decoder 解密。客户端解析 XML LyricContent 或纯文本,异常时继续使用 JOOX/LRC 回退,不阻塞播放。
本地逐字歌词
本地音乐支持同名 .lrc、.ttml 和 .txt 文件。逐字 LRC 同时兼容尖括号时间标记和方括号逐字标记。文件名应与音频主文件名一致。
缓存和离线
不同平台使用来源隔离键缓存,避免相同数字 ID 串用。断网时允许读取过期歌词缓存,实时请求失败不会清空已经显示的歌词。
自有 TTML 仓库
自有仓库目录结构与 AMLL 的平台目录保持兼容。构建时设置 TTML 基础地址后,客户端会把它放在 AMLL 之前。提交歌词前至少校验 XML、时间单调性、空分词、背景声部和歌曲 ID。
