Repository navigation
v4.5.0
ColorOS Live Lyrics Bridge v4.5.0
简体中文
v4.5.0 把 v4.4.0 之后的各个预览版(C17 Preview、C16 Artwork、C17 Artwork Preview / Preview1 /
Preview2)整合为正式版,并加入锁屏性能优化与动态封面帧率设置。从 v4.4.0 或任一预览版均可直接覆盖升级。
ColorOS 17 适配
- 插件侧 Hook 改从插件 ClassLoader 工厂启动:C17 的插件 ClassLoader 已没有旧构造器入口。
- 沉浸式歌词适配官方行号、缩放中心、歌词模式入口与行模糊(合入 @bakaduang 的 PR #48);官方字体
变化后重新测量行高,测量与绘制使用同一字体,C17 歌词行读取与布局解析在缺失时安全降级。 - 酷我:插件歌词模型兼容 C17 的 MediaInfo,同曲媒体卡片重建时保留歌词及歌词支持标记,缓解锁屏
只剩封面的问题(#46)。 - 翻译按钮改用 C17 的状态刷新入口,暂停时也会刷新;动作位被其他按钮复用后恢复显示。
- 酷狗概念版:放开 C17 对模块管理播放器的 OPlus 歌词声明门禁,锁屏可正常显示歌词。
- 锁屏动作规则:Bridge 重放规则时保留系统原始规则,解锁后恢复原样。
- ColorOS 16 及更早系统的行为不变。
动态封面(可选)
- 新增独立应用 动态封面 Provider 1.0.5:按歌曲信息匹配动态封面,下载并逐文件校验后交给 Bridge
显示。安装同一 Release 中的 APK,在应用内打开来源,再到 Bridge「设置 → 动态封面」中选择、授权。
Bridge 本身不联网、不进入播放器进程;不安装时锁屏保持官方静态封面,AOD 始终使用静态封面。 - 显示位置:锁屏歌词小封面、大封面可分别开关;C17 还支持全屏背景,中央画面与上下镜像使用同一
视频帧,保留系统渐变模糊、歌词模式整体模糊与遮罩。同曲在不同位置间切换时复用同一个解码器。 - 过渡:尊重官方歌词/大封面模式及显隐状态;切歌过渡期间保留官方静态动画,新视频首帧就绪后
柔和淡入(320 ms);暂停时从当前画面淡回静态封面(220 ms);同曲切换页面后等新帧再显现。 - 帧率设置(新):10–30 fps 可调,默认 30 fps(视频原帧率)。动态封面的耗电主要来自画面刷新——
每显示一帧视频,锁屏都要整体重绘并重新计算模糊,视频解码本身耗电很少。测试设备在 50% 亮度下,
30 fps 时锁屏耗电约为静态封面的 3 倍,15 fps 时约 1.6 倍。调低更省电,但视频不够连贯。 - 保持屏幕常亮(可选):仅在大封面上动态封面实际播放时保持亮屏;暂停、息屏/AOD、解锁或回到
歌词小封面后释放,与“歌词显示时保持屏幕点亮”各自独立。 - 来源与匹配(Provider):
- Apple Music:专辑名优先搜索、身份未确认时补一次歌曲搜索;兼容简繁、艺人原生文字别名、合作
艺人与 Single/EP 发行类型;保留中文版、现场、Remix、重录等版本边界;CN 市场搜索为空时回退
同市场网页;Strict / Standard / Loose 三档匹配严格度。 - 网易云(可选,默认关闭):官方客户端扫码登录,会话加密保存;按曲目名搜索并核对歌手与录音标记。
- 两路并发查找、AM 优先下载,AM 最终失败才使用网易云;临时网络故障在总期限内自动补两轮。
- 原生方形 AVC SDR 视频:AM 1080×1080,网易云最高 1280×1280 原样使用,不缩放、不转码。
- Apple Music:专辑名优先搜索、身份未确认时补一次歌曲搜索;兼容简繁、艺人原生文字别名、合作
- Provider 设置:手动绑定专辑(本地专辑名与商店不一致时)、AM / 网易云独立搜索框与真实封面
缩略图、市场切换、缓存上限(默认 512 MB,可选到 8 GB 或自定义,按最久未使用清理)、默认仅在
非计费网络下载、Apple Music 商店连通性测试(新)。 - 诊断:可选的本地脱敏 TXT 日志(约 1 MiB),在“高级”中导出或清除;错误提示区分来源视频读取
失败、格式不支持、大小超限与锁屏挂载失败。 - 动态封面设置独立保存,并纳入 Bridge 配置备份。
外观与歌词进度
- C17 光晕颜色“跟随封面取色”:复用系统媒体进度条的封面主色,只改变光晕颜色,无需安装动态封面。
- 修复 Unicode 词间空格未被识别、英文单词从中间换行的问题。
- “普通逐行歌词进度”快速切句衔接更稳:高光所属句与播放时间一致,句尾短暂全亮停留,翻译进度与
字符上浮同步。
锁屏流畅度
使用 Perfetto 在锁屏、卡片切换和 AOD 进出场景逐项排查 Bridge 自身开销:
- 动态封面的显示资格检查不再每帧发起锁屏状态跨进程查询,主线程每帧耗时下降约 15%。
- 翻译按钮查找跳过专辑封面等大图,按图标资源缓存识别结果,消除冷启动和刷新卡片后最长约 200 ms
的主线程卡顿。 - 字符上浮动画每个字只绘制自身及邻近字形,歌词行绘制耗时下降约 20%;连字(如 "fi")不再错位。
- 对照测试显示:在没有安装 Bridge 的 ColorOS 17 测试版上,AOD 切换与卡片切换同样会掉帧;这部分
来自系统本身,Bridge 无法修复。
Provider 更新
全部 14 个歌词 Provider 版本号各加一,动态封面 Provider 升至 1.0.5。
- 13 个专属 Provider 不再在桌面显示图标:请在 LSPosed 模块列表中点开对应 Provider 进入设置。
覆盖安装更新后,旧桌面图标需重启桌面(启动器)才会消失,属预期行为。通用播放器 Provider 与
动态封面 Provider 是需要配置的独立应用,仍保留桌面入口。 - 通用播放器 Provider 1.1.2:
- 修复 ColorOS 17 上的模块加载失败:C17 的
MediaSessionRecord$SessionStub不再有this$0,
旧版会抛NoSuchFieldException而对所有播放器无响应;现按名解析并按字段类型兜底。 - 放开欢太音乐、QQ 音乐、酷狗及概念版、网易云及荣耀版,可在“播放器”页手动选择;目前仅酷我不可选。
- 同一播放器只开一个 Provider:它的官方/专属 Provider 与通用 Provider 二选一,同时开启时两者
都会写入lyricInfo而互相覆盖。
- 修复 ColorOS 17 上的模块加载失败:C17 的
兼容矩阵与升级
Bridge 仍只作用于 system 和 com.android.systemui,不进入播放器进程。
| Provider | 版本 | Provider | 版本 |
|---|---|---|---|
| Salt | 1.1.2 (8) | Cone | 1.1.2 (4) |
| KuWo | 1.2.2 (5) | LX | 1.2.1 (4) |
| Poweramp | 1.2.1 (4) | Metrolist | 1.2.1 (4) |
| 酷狗 | 1.2.4 (7) | QQ 音乐 | 1.2.1 (4) |
| 网易云 | 1.2.1 (4) | Apple Music | 1.2.1 (4) |
| Spotify | 1.1.2 (4) | 汽水音乐 | 1.1.2 (4) |
| 通用播放器 | 1.1.2 (4) | Readify | 1.0.2 (3) |
| 动态封面(独立应用) | 1.0.5 (9) |
- 从同一个 v4.5.0 Release 安装 Bridge 与所需 Provider APK;需要动态封面时一并安装动态封面
Provider。v4.4.0 与各预览版均可直接覆盖安装,设置与动态封面绑定保留。 - Bridge 作用域保持
system与com.android.systemui。 - 升级后强行停止播放器并重启 SystemUI;涉及作用域变化时重启手机。
- 更新专属 Provider 后如仍看到旧桌面图标,重启桌面(启动器)即可。
验证与已知限制
- 本地门禁:Bridge 780 项单测、release lint、debug 构建与发布契约校验;Provider
testV5Matrix、
14 模块 debug 构建,以及动态封面 Provider 单测与构建。 - 正式签名 RC 已在 PJZ110 / ColorOS 17 实机验收通过;性能数据来自同一设备的 Perfetto 与电池计数器,
其他机型与固件上的数值会有差异。 - ColorOS 17 测试版本身存在锁屏与 AOD 掉帧;C17 的官方歌词时钟对齐路径在部分固件上仍可能未生效,
沿用时间守卫降级。 - 动态封面只支持经过校验的方形 AVC/H.264 SDR MP4,不支持 HEVC/HDR、竖版或旋转视频;匹配受来源
网络、登录状态、专辑信息与页面变化影响;缺少资源、歧义或设备解码失败时保留静态封面。部分 C17
内测设备存在系统媒体解析失败,本版不宣称修复。 - 尚未覆盖 Readify 章节首尾短窗口、酷我 SystemUI 侧封面快照等全部 C17 路径;平板与折叠屏布局验证有限。
- 兼容性仍取决于厂商 SystemUI 实现,以及播放器经 MediaSession 暴露的歌词与进度信息。
资产
正式 Release 包含 19 项已验证资产:1 个 Bridge APK、14 个 Provider APK、1 个动态封面
Provider APK、1 个 Provider ZIP、release-assets-v4.5.0.json 和 SHA256SUMS。Provider ZIP
只包含 14 个顶层歌词 Provider APK,动态封面 Provider 单独提供。
致谢
感谢 @bakaduang 的沉浸式歌词 PR #48、动态封面跨平台匹配的贡献者,以及提供 C17 实机反馈、诊断
日志与锁屏掉帧线索的用户。
English
v4.5.0 folds every preview since v4.4.0 (C17 Preview, C16 Artwork, C17 Artwork Preview / Preview1 /
Preview2) into a stable release, and adds lock-screen performance work and a motion cover frame-rate
setting. You can update in place from v4.4.0 or any of those previews.
ColorOS 17 support
- Plugin-side hooks start from the plugin ClassLoader factory; C17's plugin ClassLoader no longer has
the old constructor entry. - The immersive lyric page follows the official row index, scale pivot, lyric-mode entry, and row blur
(merging @bakaduang's PR #48). Rows are re-measured when the official typeface changes, measurement
and drawing share one typeface, and C17 row reading and layout resolution degrade safely. - KuWo: the plugin lyric model handles C17 MediaInfo, keeping lyrics and the lyric-support flag when the
same song's media card is rebuilt; this mitigates the cover-only lock screen (#46). - The translation button refreshes through C17's state-update entry, also while paused, and reappears
after its action slot was reused by another button. - KuGou Lite: lifts C17's OPlus lyric-declaration gate for module-managed players so lyrics show.
- Lock-screen action rules: Bridge keeps the system's original rules when replaying them and restores
them after unlock. - Behavior on ColorOS 16 and earlier is unchanged.
Dynamic artwork (optional)
- New standalone Dynamic Artwork Provider 1.0.5 matches a motion cover for the song, downloads and
verifies it file by file, and hands it to Bridge. Install the APK from the same Release, turn a source
on in the app, then pick and authorize it in Bridge under Settings → Dynamic artwork. Bridge itself
never goes online or enters a player process; without the Provider the lock screen keeps the official
static cover, and AOD always uses the static cover. - Where it shows: the small lyric cover and the large cover can be toggled separately; on C17 it also
drives the full-screen background, where the center and the mirrored bands use the same video frame
and keep the system gradient blur, lyric-mode blur, and masks. Moving between surfaces for the same
song reuses one decoder. - Transitions: follows the official lyric/large-cover modes and visibility; keeps the official static
animation during track changes and fades the first new frame in softly (320 ms); pausing fades back
to the static cover from the current picture (220 ms); a same-song page switch waits for a fresh frame. - Frame rate (new): adjustable from 10 to 30 fps, default 30 fps (the video's original rate). Most of
the power goes into showing the video: every frame shown redraws the whole lock screen and recomputes
its blur, while decoding costs little. On the test device at 50% brightness the lock screen drew about
3× the power of a static cover at 30 fps and about 1.6× at 15 fps. Lower rates save battery but look
less fluid. - Keep screen on (optional): only while a motion cover is actually playing on the large cover;
released on pause, sleep/AOD, unlock, or returning to the small lyric cover, independent of "Keep
screen on while lyrics are shown". - Sources and matching (Provider):
- Apple Music: album-first search with one song-search fallback when identity is unconfirmed;
Simplified/Traditional Chinese, native-script artist aliases, featured artists, and Single/EP
release types; keeps language, live, remix, and re-recording boundaries; falls back to the same
storefront's web page when CN search is empty; Strict / Standard / Loose matching levels. - NetEase (optional, off by default): QR sign-in with the official client and an encrypted session;
searches by song title and checks artists and recording labels. - Both sources are prepared concurrently with AM download priority; NetEase is used only after AM
fails. Transient network failures get two more attempts within the overall deadline. - Native square AVC SDR video: AM 1080×1080; NetEase up to 1280×1280 used as-is, never resized or
transcoded.
- Apple Music: album-first search with one song-search fallback when identity is unconfirmed;
- Provider settings: manual album binding (when local tags differ from the store), separate AM /
NetEase searches with real cover thumbnails, storefront selection, cache limit (512 MB by default, up to
8 GB or custom, least-recently-used eviction), unmetered-only downloads by default, and an Apple Music
storefront reachability test (new). - Diagnostics: optional local redacted TXT log (about 1 MiB) exported or cleared under Advanced;
errors distinguish source-video read failures, unsupported formats, size limits, and lock-screen
mounting failures. - Dynamic artwork settings are stored separately and included in the Bridge configuration backup.
Appearance and lyric progress
- C17 "Glow color → follow artwork": reuses the system media progress bar's artwork color and only
changes the glow; no dynamic artwork needed. - Fixes Unicode word spaces not being recognized, which broke English words mid-word.
- Smoother fast line changes with Line-timed lyric progress: the highlighted line matches playback time,
line ends hold full brightness briefly, and translation progress stays in step with character float-up.
Lock-screen smoothness
Bridge's own cost was profiled with Perfetto across the lock screen, card switching, and AOD transitions:
- The motion-cover eligibility check no longer makes a cross-process keyguard query on every frame;
main-thread time per frame dropped by about 15%. - Translation-button discovery skips large images such as album art and caches results per icon
resource, removing main-thread stalls of up to about 200 ms after a cold start or card refresh. - The character float-up animation draws only each glyph and its neighbours, cutting lyric-row draw time
by about 20%; ligatures such as "fi" are no longer shifted. - A baseline without Bridge showed that the ColorOS 17 beta drops frames on AOD and card transitions on
its own; that part comes from the system and cannot be fixed in Bridge.
Provider updates
All 14 lyric Providers move up one version, and the Dynamic Artwork Provider moves to 1.0.5.
- The 13 dedicated Providers no longer show a home-screen icon: open a Provider's settings from the
LSPosed module list. After an update the old home-screen icon disappears only once the launcher
restarts; this is expected. The Universal Player Provider and the Dynamic Artwork Provider are
standalone apps that need configuration and keep their home-screen entry. - Universal Player Provider 1.1.2:
- Fixes the module load failure on ColorOS 17: C17's
MediaSessionRecord$SessionStubno longer has
this$0, so older versions threwNoSuchFieldExceptionand answered no player; the field is now
resolved by name with a type-based fallback. - Opens HeyTap Music, QQ Music, KuGou and KuGou Lite, and NetEase Cloud Music and its Honor build for
manual selection on the Players page; only KuWo stays unavailable. - Enable only one Provider per player: use either its official/dedicated Provider or the Universal
Provider. With both on, each writeslyricInfoand they overwrite each other.
- Fixes the module load failure on ColorOS 17: C17's
Compatibility and upgrade
Bridge still runs only in system and com.android.systemui and never enters player processes.
| Provider | Version | Provider | Version |
|---|---|---|---|
| Salt | 1.1.2 (8) | Cone | 1.1.2 (4) |
| KuWo | 1.2.2 (5) | LX | 1.2.1 (4) |
| Poweramp | 1.2.1 (4) | Metrolist | 1.2.1 (4) |
| KuGou | 1.2.4 (7) | QQ Music | 1.2.1 (4) |
| NetEase | 1.2.1 (4) | Apple Music | 1.2.1 (4) |
| Spotify | 1.1.2 (4) | QiShui | 1.1.2 (4) |
| Universal Player | 1.1.2 (4) | Readify | 1.0.2 (3) |
| Dynamic Artwork (standalone app) | 1.0.5 (9) |
- Install Bridge and the Provider APKs you need from the same v4.5.0 Release; add the Dynamic Artwork
Provider if you want motion covers. v4.4.0 and every preview update in place; settings and artwork
bindings are kept. - Keep the Bridge scope at
systemandcom.android.systemui. - After upgrading, force-stop the player and restart SystemUI; reboot when scopes change.
- If an old dedicated-Provider icon remains on the home screen after the update, restart the launcher.
Validation and known limits
- Local gates: 780 Bridge unit tests, release lint, debug build, and release-contract validation;
ProvidertestV5Matrix, debug builds of all 14 modules, and Dynamic Artwork Provider tests and build. - The formally signed RC passed device acceptance on a PJZ110 / ColorOS 17 device. Performance figures
come from Perfetto and the battery counter on that device and vary across devices and firmware. - The ColorOS 17 beta itself drops frames on the lock screen and AOD; C17's official lyric-clock
alignment path may still be unresolved on some firmware and falls back to the time guard. - Motion covers support only verified square AVC/H.264 SDR MP4; no HEVC/HDR, tall, or rotated video.
Matching depends on source network, sign-in state, album metadata, and page changes; missing assets,
ambiguity, or a device decode failure keep the static cover. Some C17 beta devices fail system media
parsing; this release does not claim to fix that. - Not every C17 path is covered yet (Readify chapter edge windows, KuWo SystemUI-side artwork snapshots);
tablet and foldable layouts have limited validation. - Compatibility still depends on the vendor SystemUI implementation and on the lyric and progress data a
player exposes through MediaSession.
Assets
The formal Release contains 19 verified assets: 1 Bridge APK, 14 Provider APKs, 1 Dynamic Artwork
Provider APK, 1 Provider ZIP, release-assets-v4.5.0.json, and SHA256SUMS. The Provider ZIP holds
only the 14 top-level lyric Provider APKs; the Dynamic Artwork Provider ships separately.
Acknowledgements
Thanks to @bakaduang for the immersive lyric PR #48, to the contributors of cross-platform artwork
matching, and to the users who shared C17 device feedback, diagnostic logs, and lock-screen jank reports.

