Flamingo 歌词显示效果:逐字高亮、上浮动画与重叠行
同一个歌词页,不同格式的歌词放进去,动效等级完全不同。这篇把效果与触发条件对齐。

效果与触发条件对照
| 效果 | LRC 触发条件 | TTML 触发条件 |
|---|---|---|
| 整行点亮 | 逐行时间标签即可 | 行级 begin/end |
| 逐字高亮 | 行内逐字时间标签 | <span> 子元素计时 |
| 逐字上浮 | 行内逐字时间标签 | <span> 子元素计时 |
| 翻译对照 | 同时间轴重复行 | translations + itunes key |
| 音译对照 | 不支持 | transliterations |
| 对唱区分 | v1: v2: 歌手前缀 | ttm:agent 标记 |
| 倒计时 | 空时间标签行 | — |
| 重叠行同显 | — | 多行时间范围重叠 |
| 分段标签显示 | — | Verse/Chorus 等段落标注 |
| 和声标注 | [bg:] 解析 | — |
两个值得单独说的效果
- 重叠行:TTML 里两行时间范围交叠时,两行会同时聚焦显示,歌词视图自动滚动让这组行居中,每行各带自己的次级文本——多声部歌曲的处理方式。
- 倒计时:LRC 空时间标签行在间隔足够长时显示下一句进入倒计时,间奏再长也不至于看不到"还有多久开唱"。
效果不出来时的检查顺序
- 格式对不对:逐字效果必须来自逐字计时,纯逐行 LRC 不可能逐字点亮,见LRC 逐字歌词。
- 加载对不对:确认歌词真的被加载了(内嵌字段或同名外挂文件),见歌词加载方式。
- 翻译开关:TTML 的翻译/音译切换受歌词页翻译开关控制,见TTML 翻译与音译。
- 版本支持:TTML 与部分效果自 v2.0.0 起,老版本没有,见版本更新。
格式与显示都正常但仍有细微出入?可能是内置格式化动了空格,见歌词功能总览的说明。