ColorOS Live Lyrics Bridge v4.0.0
中文
4.0 是一次完整架构升级。
播放器专属 Hook 已迁移到 12 个独立 Provider,由 Provider 从
播放器自己的 MediaSession 发布原生 MediaMetadata["lyricInfo"]。
Bridge 现在只运行于system 和 com.android.systemui,
负责通用逐字渲染、AOD、外观、翻译按钮与 SystemUI兼容增强。
并移除对词幕lyricon的兼容支持。
这是从 3.8.x 升级时需要完整迁移的破坏性版本。
重要!!请从同一个 4.0.0 Release 安装 Bridge 与自己需要的 Provider,
并在启用新 Provider 前取消旧 Provider 对同一播放器的作用域。
Bridge 架构
- 删除 direct-v4 receiver、来源/发送者注册表、外部协议模块与播放器进程 Adapter。
- Bridge 不再识别 Provider applicationId,也不再请求或接收私有歌词 payload。
- Bridge 作用域缩减为
system与com.android.systemui。 - 每次原生
lyricInfo发布只解析一次,身份、清理、翻译对齐、官方列表和 renderer 共用
同一个快照。 - SystemUI 大型 Hook 已拆分为 bootstrap、diagnostics、media/lyrics policy、model
assembly、frame resolve、draw coordinator 和具名兼容 owner。 - Debug 默认关闭,采用结构化
[CLL]事件、节流、脱敏以及 logcat/Xposed 双写;开启
Debug 不会改变歌词行为。
歌词外观与渲染
- 新增独立“歌词亮度与渐隐”页面。
- 可分别调整实时文字、实时未高亮部分、实时翻译、翻译进度、非实时文字和非实时翻译。
- 非实时翻译可跟随正文亮度,也可独立设置。
- RecyclerView 上下边缘渐隐支持开关和长度调节。
- 非活动行额外淡化与模糊、缩放互相独立。
- 默认、柔和、鲜明、极简四套预设覆盖新增参数;任意偏离预设的设置显示为“自定义”。
- 根据实机反馈调整了预览行距、垂直居中、整数 dp 渐隐步进、全宽底部 Dock 和滑动条长度。
- 修复居中、右对齐歌词仍从左侧 pivot 缩放的问题。
翻译、配置与清理
- 默认亮度层级调整为:实时正文最亮,实时翻译稍暗,非实时翻译与对应非实时正文一致。
- 翻译基础亮度与翻译逐字进度亮度分别控制。
- 媒体卡翻译按钮现在立即刷新,不再等待暂停/继续播放。
- 翻译图标统一使用白色基准 tint,并通过 alpha 表示开关状态,避免部分播放器显示成黑色。
- 新增 Bridge 全量配置备份与恢复,覆盖 UI/schema、全局及逐播放器翻译、开头清理规则、
逐曲修正、Debug 与设置语言;恢复失败会回滚。 - 全量重置需要二次确认。
- 内置歌词开头清理规则继续保留,但默认关闭;Bridge 不再无条件修补所有原生 payload。
原生播放器主动接入
Halcyon、Flamingo、QZ Music 与 PrismMusic 已加入纯包名的 SystemUI 歌词入口、媒体历史和
AOD 兼容策略。这不是歌词来源白名单:播放器仍必须从自己的 MediaSession 发布标准
lyricInfo,旧广播不会被接收,也不需要额外 Provider APK。
Provider 支持矩阵 / Provider matrix
以下表格由中英文说明共用。Provider 可以独立安装;受支持的 ColorOS SystemUI 能直接
消费其原生 lyricInfo,Bridge 只增加可选的通用增强。
| 播放器 / Player | 资产 / Asset | 已验证宿主 / Validated host | 歌词能力 / Lyrics |
|---|---|---|---|
| Salt Player | ColorOS-Live-Lyrics-Provider-Salt-v4.0.0.apk |
12.3.0-alpha03 | 逐字、翻译 / Word timing, translations |
| Cone / GP | ColorOS-Live-Lyrics-Provider-Cone-v4.0.0.apk |
1.2.0 profile / GP | 完整时间轴、翻译 / Timeline, translations |
| 酷我 / KuWo | ColorOS-Live-Lyrics-Provider-KuWo-v4.0.0.apk |
12.2.0.0 | 官方 payload 追加逐字与翻译 / Official append, word timing, translations |
| LX / Walnut | ColorOS-Live-Lyrics-Provider-LX-v4.0.0.apk |
LX 1.8.4 / Walnut 26.07.16 | 逐字、翻译、蓝牙与封面兼容 / Word timing, translations, Bluetooth/artwork fixes |
| Poweramp | ColorOS-Live-Lyrics-Provider-Poweramp-v4.0.0.apk |
build 1025 | 同目录或内嵌歌词、翻译 / Sidecar or embedded lyrics, translations |
| Metrolist | ColorOS-Live-Lyrics-Provider-Metrolist-v4.0.0.apk |
13.6.1 | BetterLyrics/LrcLib/KuGou,不支持翻译 / No translations |
| 酷狗 / KuGou Concept | ColorOS-Live-Lyrics-Provider-KuGou-v4.0.0.apk |
20.8.0 / 5.2.61 | 官方追加逐字与翻译 / Official append, word timing, translations |
| QQ 音乐 / QQ Music | ColorOS-Live-Lyrics-Provider-QQ-v4.0.0.apk |
20.7.5.8 | QRC 逐字、翻译 / QRC word timing, translations |
| 网易云、荣耀、9.0.40 / NetEase, Honor, 9.0.40 | ColorOS-Live-Lyrics-Provider-NetEase-v4.0.0.apk |
9.5.70 / 3.5.20 / 9.0.40 | 官方追加或构造、翻译 / Official append or constructed, translations |
| Apple Music | ColorOS-Live-Lyrics-Provider-Apple-v4.0.0.apk |
6.5.2 | JNI TTML 逐字、翻译 / JNI TTML word timing, translations |
| Spotify | ColorOS-Live-Lyrics-Provider-Spotify-v4.0.0.apk |
9.1.78.2208 | Color Lyrics 逐行或逐字,不支持翻译 / Line or word timing, no translations |
| 汽水音乐 / QiShui | ColorOS-Live-Lyrics-Provider-QiShui-v4.0.0.apk |
20.7.0 | TrackLyric/缓存、逐字、翻译 / TrackLyric/cache, word timing, translations |
从 3.8.x 升级
- 在 Bridge 主设置页备份完整配置。
- 使用正式 4.0.0 Bridge APK 覆盖安装官方 3.8.1。
- Bridge 作用域只保留
system和com.android.systemui。 - 卸载旧 Provider,或至少取消旧模块对同一播放器的全部作用域。
- 安装对应的
ColorOS-Live-Lyrics-Provider-<Name>-v4.0.0.apk,只勾选表中宿主。 - 重启播放器与 SystemUI;首次安装或作用域迁移后建议重启设备。
- 不要让旧、新 Provider 同时 Hook 同一个播放器。
完整 applicationId、作用域和降级说明:
降级到 3.8.x 不能保证配置无损,因为旧版本不认识全部 schema-v3 字段。请保留 4.0 完整
备份,并准备在旧版中重置设置。
验证与发布资产
- Bridge 标准 Gradle:481 tests,0 failure/error,6 项明确 skipped;debug/release lint、
构建、包名、作用域、证书、zipalign、DEX 与 manifest 门禁通过。 - Provider
testV5Matrix:462 tests,0 failure/error/skip;12 个 release/R8 构建通过。 - RC5 run
33301880289的正式签名包已通过用户实机回归。 - 正式 run
33305725280
完成不可变源码解析、Bridge/Provider 签名构建、16 资产打包以及 Bridge/LSP 双发布。 - 两个公开 Release 各 16 项资产,名称、字节数与 SHA-256 完全一致;13 个 APK 和
12-APK Provider ZIP 已重新下载独立复核。 - Bridge commit:
6ebced30a6af3fa5015af0c8ab212ea339fd9d91。 - Provider commit:
950c3b170271e3a0f9bccdf3fa18735451740c80。 - Bridge APK SHA-256:
3be16859c347740ca47c5bd99f0180d45fcb45615a2e90a5398417f2e98751f6。 - Provider ZIP SHA-256:
3465696f5355a55379dad7ab70d637cd42659449f480f67d54ac697882b8e07d。
Release 恰好包含 16 项资产:1 个 Bridge APK、12 个 Provider APK、1 个 Provider ZIP、
release-assets-v4.0.0.json 和 SHA256SUMS。Provider ZIP 只是 APK 下载合集,不是
Recovery 刷机包。
已知限制
- ColorOS 锁屏歌词属于私有 SystemUI 功能,系统更新后可能需要重新适配。
- 播放器私有歌词接口可能随播放器更新变化。
- Spotify 与 Metrolist 当前不提供翻译。
- QQ 音乐 HD 不在 4.0 支持矩阵。
- 歌词源没有逐字或翻译 lane 时,Bridge 不会凭空生成。
本项目不再兼容适配词幕 Provider。
需要词幕时请前往LyricProvider 原项目下载对应 词幕 Provider。
词幕显示或相关问题也请向词幕原项目仓库反馈。
开发文档、致谢与支持
感谢 tomakino/LyricProvider 原项目及贡献者、Accompanist Lyrics Core,以及提供播放器
样本、SystemUI 证据、日志、录屏和实机验证的所有用户。第三方来源与许可证保留在
Bridge LICENSE、Provider NOTICE、源码头和迁移报告中。
如果项目对你有帮助,可在
Bridge README 查看支持方式。
支持完全自愿,不影响 Issue 优先级或 Release 资产获取。
English
4.0 is a full architecture release. Player-specific hooks now live in 12 independent Providers
that publish native MediaMetadata["lyricInfo"] from player-owned MediaSessions. Bridge runs only
in system and com.android.systemui and focuses on generic word rendering, AOD, appearance,
translation controls, and SystemUI compatibility.
This is a coordinated breaking upgrade from 3.8.x. Install Bridge and the Providers you use from
the same 4.0.0 Release, and remove the old Provider scope from a player before enabling its 4.0
replacement.
Bridge architecture
- Removed the direct-v4 receiver, source/sender registry, external protocol module, and
player-process adapters. - Bridge no longer knows Provider application IDs or accepts a private lyric payload.
- Scope is reduced to
systemandcom.android.systemui. - Native
lyricInfois parsed once per publication and shared by identity, cleanup, translation
alignment, official-list handling, and renderer preparation. - Large SystemUI responsibilities were split into bootstrap, diagnostics, media/lyrics policy,
model assembly, frame resolution, draw coordination, and named compatibility owners. - Debug remains off by default and uses structured
[CLL]events, throttling, redaction, and
logcat/Xposed sinks without changing lyric behavior.
Lyrics, appearance, translation, and configuration
- Added a dedicated Lyric brightness & fading page.
- Active text, unrevealed active text, active translation, translation progress, inactive text,
and inactive translation have separate controls. - Inactive translation can follow the main inactive opacity or keep its own value.
- Native RecyclerView top/bottom edge fading has configurable enable and length controls.
- Optional inactive-row fade is independent from blur and scale.
- Default, Soft, Vivid, and Minimal presets own the new fields; any deviation becomes Custom.
- Preview spacing, vertical centering, integer fade-length steps, the full-width bottom dock, and
slider length were refined from device feedback. - Center and right alignment now scale around the correct pivot.
- Media-card translation state updates immediately without waiting for pause/play.
- Translation icons use a canonical white tint and enabled/disabled alpha instead of inheriting a
black host tint. - Complete Bridge backup/restore covers UI/schema, global and per-player translation settings,
opening-cleanup rules, per-track corrections, debug settings, and locale, with rollback on error. - Built-in opening-cleanup rules remain available but default to disabled.
Native player integration
Halcyon, Flamingo, QZ Music, and PrismMusic have package-only SystemUI lyric-entrance,
media-history, and AOD compatibility. This is not source admission: each player must publish
standard lyricInfo from its own MediaSession. Old broadcasts are not accepted, and no additional
Provider APK is required.
The single bilingual Provider matrix above is shared by both language sections. Provider-only
installation can drive stock ColorOS lyrics on supported systems; Bridge adds optional generic
enhancements.
Upgrade from 3.8.x
- Back up the complete Bridge configuration from the main settings page.
- Install the official 4.0.0 Bridge APK over the official 3.8.1 build.
- Keep only
systemandcom.android.systemuiin Bridge scope. - Uninstall/disable the old Provider or remove its player scope.
- Install the matching
ColorOS-Live-Lyrics-Provider-<Name>-v4.0.0.apkand select only its host. - Restart the player and SystemUI; reboot after the first installation or scope migration.
- Never let old and new Providers hook the same player simultaneously.
See the complete 3.8.x → 4.0 migration guide
for application IDs, scopes, and downgrade details. Downgrading is not configuration-lossless
because 3.8.x does not understand every schema-v3 field.
Validation and release assets
- Bridge standard Gradle suite: 481 tests, 0 failures/errors, 6 explicit skips; debug/release lint,
builds, package, scope, certificate, zipalign, DEX, and manifest gates passed. - Provider
testV5Matrix: 462 tests, 0 failures/errors/skips; all 12 release/R8 builds passed. - The signed RC5 batch from run
33301880289passed user device validation. - Formal run
33305725280
resolved immutable sources, built signed Bridge/Providers, packaged 16 assets, and published both
Bridge and LSP Releases. - Both public Releases contain the same 16 files with identical sizes and SHA-256 values; all 13
APKs and the 12-APK Provider ZIP were downloaded and independently reverified. - Bridge commit:
6ebced30a6af3fa5015af0c8ab212ea339fd9d91. - Provider commit:
950c3b170271e3a0f9bccdf3fa18735451740c80. - Bridge APK SHA-256:
3be16859c347740ca47c5bd99f0180d45fcb45615a2e90a5398417f2e98751f6. - Provider ZIP SHA-256:
3465696f5355a55379dad7ab70d637cd42659449f480f67d54ac697882b8e07d.
The Release contains exactly 16 assets: one Bridge APK, 12 Provider APKs, one Provider ZIP,
release-assets-v4.0.0.json, and SHA256SUMS. The Provider ZIP is an APK download bundle, not a
Recovery-flashable package.
Known limits
- ColorOS lock-screen lyrics are a private SystemUI feature; system updates can require renewed
compatibility work. - Player-private lyric interfaces can change after player updates.
- Spotify and Metrolist do not provide translations in the current matrix.
- QQ Music HD is not supported.
- Bridge cannot invent word timing or translations that the lyric source does not provide.
This project is no longer compatible with the lyricon.
For LyricProvider support, please download the corresponding provider from the original lyricon Provider project: [https://github.com/tomakino/LyricProvider].
For any issues related to LyricProvider display, please report them to the original LyricProvider project repository.
Developer documentation, acknowledgements, and support
Thanks to the original tomakino/LyricProvider project and contributors, Accompanist Lyrics Core,
and everyone who supplied player samples, SystemUI evidence, logs, recordings, and device
validation. Third-party provenance and licenses remain in the Bridge LICENSE, Provider NOTICE,
source headers, and migration reports.
Support is optional and never changes issue priority or access to release assets. See the
Bridge README for
support options.
