ColorOS Live Lyrics Bridge

ColorOS lock-screen lyrics demo

简体中文

把更多音乐 App 的歌词送进 ColorOS / OPlus 自带的锁屏歌词页面。

它不是悬浮窗:歌词仍由系统原生界面显示,模块负责补充完整时间轴、逐字高亮、翻译和外观设置。

v3.7.0 更新了什么

  • 设置页完成整体 UI 重构:主页与两个二级页面统一为新的卡片分区布局,包含分区图标、实时激活状态、固定底部操作栏、未保存徽标与返回确认,控件全部改用 Material 风格并自绘下拉菜单。
  • 新增迷你锁屏预览:使用真实配置的字号、颜色、光晕、模糊、缩放与对齐效果,滚动时吸顶浮动;预览卡可上滑收纳为标题栏「预览」按钮,点击即可重新展开。
  • 自定义颜色改为 mockup 风格面板:HEX 输入、颜色预览、HSV 取色与输入法避让;颜色面板不会再推动主页面滚动或遮挡键盘。
  • 修正主歌词颜色的语义:普通行与非实时行保持低透明度白色,主歌词颜色只作用于实时行的逐字覆盖与扫光过渡,避免整行染色和过渡区白色断层。
  • 修复 LX Music 歌词覆盖层闪烁与进度错位(移除与 LyricModule 锚点同步冲突的重复回调),以及汽水音乐同曲元数据更新时覆盖层重置闪烁的问题。
  • 设置页与 LX / 汽水音乐修复均已通过单元测试与 Debug 构建;真机视觉验证以本次 Release 安装后的实际锁屏表现为准。
  • 升级时请从同一 Release 安装 ColorOS-Live-Lyrics-Bridge-v3.7.0.apk 与对应播放器的 Provider APK。

主要功能

  • 原生锁屏与 AOD 歌词,不额外覆盖悬浮窗口。
  • 普通逐行、逐字高亮与翻译歌词。
  • 长句自动换行或平滑浏览,兼顾中文、日文等无空格文本。
  • 四种外观预设和实时预览。
  • 可调颜色、透明度、光晕、模糊、缩放、动效、字号、字重和对齐;歌词之间与同一句内部换行的间距可以分开设置。
  • 可按播放器记住翻译开关,清理歌词开头的歌名、制作信息和版权行。
  • 歌词显示时可保持屏幕点亮,也可自定义亮屏时长。
  • 保留系统媒体卡片原本的上一首、播放/暂停和下一首操作。

使用条件

  • 已 Root,并安装支持 libxposed API 102 的 LSPosed / LSP 管理器。
  • 系统本身带有 ColorOS / OPlus 原生锁屏歌词页面。
  • 当前主要围绕 ColorOS 16 的歌词链路开发和验证。不同 OPPO、一加、真我机型及不同 SystemUI 版本可能需要单独适配。
  • 如果系统原本没有锁屏歌词页面,本模块不会新建一个悬浮歌词窗口。

播放器支持

播放器 还要安装什么 歌词能力
Salt Player Bridge 内置适配;逐字与翻译取决于播放器数据
ConePlayer / 光锥音乐 Bridge 内置适配;正式版与 Google Play 版
Metrolist LyricProvider-Metrolist 按播放器设置的供应商顺序搜索;BetterLyrics / KuGou 支持逐字歌词,LrcLib 可回退逐行歌词;不支持翻译歌词,也不支持词幕(Lyricon)
QQ 音乐 LyricProvider-QQMusic 逐字、翻译
网易云音乐 / 荣耀版 LyricProvider-163Music 逐字、翻译
Apple Music LyricProvider-AppleMusic 逐字、翻译;不输出背景人声和对唱分轨
LX Music(ToSide / Walnut 版本) LyricProvider-LXMusic 完整时间轴歌词;播放器提供时支持翻译歌词
Poweramp LyricProvider-Poweramp 本地内嵌歌词与可匹配的在线歌词
Spotify LyricProvider-Spotify 目前仅原文标准歌词,不支持翻译
汽水音乐 LyricProvider-QiShui 逐字、翻译;需做好 Root 隐藏并完成下方设置
酷狗音乐 / 概念版 LyricProvider-KuGou 逐字、翻译

Metrolist适用于安卓系统的 YouTube Music 客户端。由于 Metrolist 本身没有稳定的歌词获取接口,本 Provider 采用与 Metrolist 相同的方式从第三方歌词提供商获取歌词,因此两者获取的歌词可能存在差异。

安装方法

  1. 安装 Release 中的 ColorOS-Live-Lyrics-Bridge-<版本>.apk
  2. 在 LSPosed 中启用 Bridge,并保留推荐作用域。
  3. 表格中标注 Provider 的播放器,还要安装同一 Release 中对应的 LyricProvider-*.apk
  4. 在 LSPosed 中单独启用 Provider,只勾选它对应的音乐 App。
  5. 重启手机。

LyricProvider-<版本>.zip 只是全部 Provider APK 的下载合集,不是 Recovery 刷机包。只安装自己需要的 Provider 即可。

**汽水音乐用户:**还需在 LSP 管理器中为汽水音乐开启“还原内联钩子”,并按管理器提示处理 libart.so;同时需做好 Root 隐藏。

遇到问题先检查

  • Bridge 和 Provider 是否来自同一个 Release。
  • 是否保留 Bridge 推荐作用域,并给 Provider 选中了正确的音乐 App。
  • 系统是否真的带有 OPlus 原生锁屏歌词页面。
  • 只有普通歌词、没有逐字或翻译时,通常是当前歌词源没有提供相应数据。
  • 系统或播放器大版本更新后失效,请在 Issues 中附上机型、系统、SystemUI、播放器版本和 LSPosed 日志。

下载完整 Release · 源码与详细说明 · 问题反馈


English

Bring lyrics from more music apps to the native ColorOS / OPlus lock-screen lyric page.

This is not a floating overlay. The system still owns the lyric UI; the module adds full timelines, word-by-word highlighting, translations, and appearance controls.

What's new in v3.7.0

  • The settings UI has been fully redesigned: the main page and both sub-pages share new card-based sections, section icons, a live module-status row, a pinned bottom action bar, an unsaved-changes badge and confirmation dialog, Material-style controls, and a custom-drawn dropdown.
  • A new mini lock-screen preview shows real configured font sizes, colors, glow, blur, scale, and alignment, sticking to the top while scrolling. The floating preview can be collapsed into a "Preview" button in the app bar by swiping up and re-expanded by tapping it.
  • Custom colors use a mockup-style anchored panel with HEX input, a color preview, HSV picking, and keyboard-avoidance positioning, so the panel no longer scrolls the page or is hidden by the IME.
  • Primary lyric color semantics are corrected: regular and non-active lines stay low-opacity white, and the primary color is applied only to the word-progress reveal and its feather transition on the active line.
  • Fixes LX Music lyric-overlay flickering and progress mismatch caused by competing Lyricon callbacks, and QiShui Music overlay resets on same-track metadata updates.
  • Settings and Provider fixes pass unit tests and Debug builds; device-level visual verification follows installation of this release.
  • Install ColorOS-Live-Lyrics-Bridge-v3.7.0.apk and the matching Provider APK from the same release when upgrading.

Highlights

  • Native lock-screen and AOD lyrics, without a separate overlay.
  • Line-timed lyrics, word-by-word highlighting, and translations.
  • Better wrapping and smooth browsing for long CJK and other no-space text.
  • Four appearance presets with a live preview.
  • Controls for color, opacity, glow, blur, scale, motion, text size, weight, and alignment, with separate spacing for lyric rows and wrapped lines.
  • Per-player translation preferences and guided removal of leading title, credit, and copyright lines.
  • Optional keep-screen-awake behavior with a custom duration.
  • Preserves the stock media card's previous, play/pause, and next actions.

Requirements

  • Root and an LSPosed / LSP manager that supports libxposed API 102.
  • A ColorOS / OPlus ROM that already provides the native lock-screen lyric page.
  • Current development and testing mainly target the ColorOS 16 lyric path. Compatibility may vary between OPPO, OnePlus, and realme devices or SystemUI releases.
  • The module does not create a floating lyric window on ROMs that have no native lyric page.

Supported players

Player Additional module Lyric support
Salt Player None Built into the Bridge; word timing and translations depend on player data
ConePlayer None Built into the Bridge; standard and Google Play packages
Metrolist LyricProvider-Metrolist Follows the configured provider order; BetterLyrics and KuGou support word timing, with LrcLib as a line-timed fallback; translations and Lyricon integration are not supported
QQ Music LyricProvider-QQMusic Word-timed lyrics and translations
NetEase Cloud Music / Honor edition LyricProvider-163Music Word-timed lyrics and translations
Apple Music LyricProvider-AppleMusic Word-timed lyrics and translations; background-vocal and duet lanes are excluded
LX Music (ToSide / Walnut variants) LyricProvider-LXMusic Full lyric timeline and translations when supplied by the player
Poweramp LyricProvider-Poweramp Embedded local lyrics and lyrics available through provider matching
Spotify LyricProvider-Spotify Standard original lyrics only; no translation support yet
QiShui Music LyricProvider-QiShui Word-timed and translated lyrics; proper root hiding and the extra step below are required
KuGou Music / Concept LyricProvider-KuGou Word-timed lyrics and translations

Metrolist is a YouTube Music client for Android. Because Metrolist itself does not provide a stable lyric retrieval interface, this Provider retrieves lyrics from third-party lyric providers in the same way as Metrolist. The lyrics selected by the Provider may therefore differ from those shown inside Metrolist.

Installation

  1. Install ColorOS-Live-Lyrics-Bridge-<version>.apk from the release.
  2. Enable the Bridge in LSPosed and keep its recommended scope.
  3. For players marked with a Provider above, install the matching LyricProvider-*.apk from the same release.
  4. Enable each Provider separately in LSPosed and select only its matching music app.
  5. Reboot the device.

LyricProvider-<version>.zip is only a bundle of all Provider APKs; it is not a Recovery-flashable package. Install only the Providers you need.

QiShui users: also enable Restore inline hooks for QiShui in the LSP manager and follow its instructions for handling libart.so; ensure root hiding is properly configured as well.

Quick checks when something does not work

  • Confirm that the Bridge and Providers came from the same release.
  • Keep the Bridge's recommended scope and select the correct music app for each Provider.
  • Confirm that the ROM actually has the native OPlus lock-screen lyric page.
  • If line lyrics work but word timing or translations do not, the lyric source probably does not supply that data.
  • After a major OS or player update, include the device, OS, SystemUI, player versions, and LSPosed logs in an issue.

Download the complete release · Source and full documentation · Report an issue

Support

WeChat and Alipay support QR code

Releases

v3.7.0

Stable

8/5/2026, 4:42:52 AM

ColorOS Live Lyrics Bridge v3.7.0

v3.7.0 完成设置页面的整体 UI 重构,并修复 LX Music 与汽水音乐 Provider 的歌词覆盖层稳定性问题。Bridge 的外部歌词 v4 协议、Provider 准入规则与既有 AOD/渲染行为保持兼容。

设置 UI 重构

  • 主设置页按「状态 → 预览 → 风格预设 → 颜色与光晕 → 排版 → 动效与刷新 → 兼容与屏幕」重新组织,并加入分区头、图标与分组卡片;所有控件改为 Material 风格实现,不再使用原生 Spinner / 原生弹出菜单。
  • 新增静态迷你锁屏预览:预览使用真实配置的字号、颜色、光晕、模糊、缩放与对齐效果,在页面滚动时吸顶浮动;预览卡可通过底部手势条上滑收纳为标题栏「预览」按钮,点击后原路展开,滚回原位自动恢复。
  • 新增激活状态实时查询:标题下方显示模块是否运行,并提供「重启系统界面」按钮与统一的「应用并保存」底部操作栏;未保存修改时显示 UNSAVED 徽标,返回前弹出居中确认面板。
  • 颜色与光晕设置改为 mockup 风格:主色/光晕色板、滑块与开关保持即时联动,自定义颜色使用锚定色块的圆角面板(HEX 输入、颜色预览、取消/应用),点击预览色块可展开 HSV 取色,并针对输入法避让做了键盘上方定位。
  • 二级页面(播放器翻译设置、歌词开头信息清理)同步完成新版式改造,包含与主页一致的操作栏、分区结构与沉浸式手势导航栏。
  • 修正主歌词颜色的语义:普通行与非实时行歌词始终为低透明度白色,主歌词颜色只作用于实时行的逐字覆盖与扫光过渡,避免整行染色与过渡区白色断层。
  • 纯白主色选项增加常驻深色细描边,未选中时不再与卡片背景融为一体。
  • UI国际化语言支持:中文、English。

LyricProvider

  • LX Music:移除 MediaSession 播放状态/元数据回调中对 Lyricon 的重复 setPlaybackStatesetSong 调用,歌词覆盖层由 LyricModule 锚点同步循环独占驱动,修复歌词闪烁与进度错位。
  • 汽水音乐:Lyricon 歌曲去重改为按 id + lyrics 比较,仅元数据变化(歌名、歌手、时长)不再重置覆盖层,修复同曲元数据更新时的闪烁与过渡动画丢失。
  • LX Music 内部版本提升到 1.0.3(versionCode 5),汽水音乐提升到 1.2.7(versionCode 10);其余 Provider 本次没有内部版本变更。

兼容与验证

  • 外部歌词协议仍为 v4;现有 Provider 的 source、playerPackage、senderPackage 与 senderKind 白名单校验不变。
  • 本次不修改 SystemUI Renderer、AOD 切换时序、LyricsRecyclerView prime 或普通 TextView Hook 范围。
  • 设置 UI 重构以真机手动验证为准,scripts\dev.cmd bridge testDebugUnitTest assembleDebug 通过;LX Music / 汽水音乐修复已通过 Provider 侧源码验证,正式实机验证随 Release 进行。

升级说明

  • 更新 Bridge 与需要修复的 Provider APK;LX Music 用户更新 LX Music Provider,汽水音乐用户更新 QiShui Provider。
  • 更新后重启对应播放器进程;如 LSPosed 仍加载旧模块,请重启设备。
  • 其他播放器用户无需因功能变化单独更新 Provider,完整 Release 仍附带全部 Provider APK 与 LyricProvider-v3.7.0.zip

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.7.0.apk
  • LyricProvider-QQMusic-v3.7.0.apk
  • LyricProvider-163Music-v3.7.0.apk
  • LyricProvider-AppleMusic-v3.7.0.apk
  • LyricProvider-Poweramp-v3.7.0.apk
  • LyricProvider-Spotify-v3.7.0.apk
  • LyricProvider-QiShui-v3.7.0.apk
  • LyricProvider-KuGou-v3.7.0.apk
  • LyricProvider-LXMusic-v3.7.0.apk
  • LyricProvider-v3.7.0.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。

Donate

WeChat and Alipay donation QR code

Assets

11

v3.6.0

Stable

7/31/2026, 12:10:40 PM

ColorOS Live Lyrics Bridge v3.6.0

v3.6.0 新增 Metrolist 的完整 LyricProvider 适配,并修复外部歌词已经成功送达、锁屏原生歌词列表却要等到暂停或继续播放才刷新的问题。本次继续使用 v4 直达协议,不改变既有 Provider 的准入和兼容方式。

Bridge

  • 在静态外部歌词注册表中加入 lyricprovider/metrolist-music 与宿主包名 com.metrolist.music 的固定绑定,支持 Provider 上报播放状态、曲目 generation 和当前曲目权威信息。
  • Metrolist Provider 的 v4 广播仍按完整 source、playerPackage、senderPackage 与 senderKind 规则校验;未知来源、宿主不匹配和旧协议不会被动态放行。
  • 修复部分首次播放或切歌场景:Bridge 已经接收并提升有效歌词模型,但 ColorOS SystemUI 的官方 LyricsRecyclerView 仍为空,只有暂停或继续播放触发元数据重载后才出现歌词。
  • 外部歌词提升成功后,Bridge 现在会在验证播放器包名、当前曲目和上下文时效后,有限次重放最近一次 SystemUI 原生歌词加载事务,让官方列表及时填充。
  • 重放逻辑是通用外部歌词恢复流程,不依赖 Metrolist 包名分支,也不会强制 setAodModeStyle、延迟首次 RecyclerView prime,或扩大普通 TextView Hook 范围。
  • 新增 Metrolist v4 fixture、source/host 准入测试和 canonical enhanced-LRC 逐字解析测试。

Metrolist LyricProvider

  • 新增独立的 LyricProvider-Metrolist,作用域为 com.metrolist.music。Provider 从 Metrolist 当前媒体模型取得歌曲 ID、标题、歌手、专辑和秒级时长,并转换成 Bridge 所需的毫秒级媒体身份。
  • Metrolist是适用于安卓系统的第三方 YouTube Music 客户端,它将作为替代适用于对 YouTube Music 的适配而发布。
  • Provider 读取 Metrolist 的 files/datastore/settings.preferences_pb,解析 LyricsProviderOrderKey 与供应商启用状态,保持用户配置的相对顺序,不再使用猜测路径或扫描 protobuf 可打印字符串。
  • 当前实现依次支持 BetterLyrics、LrcLib 与 KuGou。BetterLyrics 使用标题、歌手、时长和专辑参数;LrcLib 接收 album_name;KuGou 搜索词也包含专辑信息,减少错误候选。
  • BetterLyrics TTML 会保留毫秒级行时间、逐字 span、结尾时间、audio lyricOffset 和真实单词边界。无空白的相邻拉丁 span 会先合并为同一单词,修复 call inga lonemega phone 等错误空格;CJK span 仍保持独立逐字时间。
  • KuGou 优先下载并解析 KRC 逐字歌词,生成标准 [行时间]<词时间>文本...<结束时间> enhanced LRC;仅在 KRC 不可用时回退逐行 LRC。
  • 首次播放和切歌搜索绑定当前 track generation。切歌会取消旧任务及正在进行的 OkHttp 请求,每个供应商具有独立 8 秒超时,过期结果不会覆盖新曲。
  • 修复 Hooker 在 zygote 初始化阶段提前创建主线程 Handler 导致的初始化失败,以及发送前歌词清洗正则异常。主线程对象现在延迟到真实应用回调中创建。
  • Provider 继续保留 Lyricon 的正常 player.setSong / playback state 路径,并在同一当前曲目校验后发送 Bridge v4 payload。

诊断与文档

  • 新增统一的 Bridge / Provider 日志抓取说明与脚本,明确 adb logcat -s 只过滤输出,不能开启 Log.isLoggable 控制的调试日志。
  • Provider 日志现在区分曲目识别、供应商顺序、命中来源、timing=word|line、行内时间标签数量、v4 发送和 Bridge 接收阶段,便于定位“搜索成功但未发送”或“已接收但未填充官方列表”。
  • Provider 适配文档补充 DataStore、异步 generation、逐字格式、TTML 单词边界、KRC 回退和可取消网络请求等门禁。

兼容与验证

  • Bridge 全量 testDebugUnitTestassembleDebug 通过。
  • Metrolist Provider testDebugUnitTestassembleDebug 通过;测试覆盖 DataStore protobuf、供应商顺序与超时、BetterLyrics TTML、KuGou KRC、enhanced-LRC 清洗和 v4 payload。
  • Android 16 实机验证通过首次播放、连续切歌、暂停恢复、供应商优先级、BetterLyrics 专辑匹配、KuGou KRC 逐字时间和拉丁音节合并。
  • 实机日志确认 Bridge 能接收并提升 Metrolist 文档、重放 SystemUI 元数据歌词加载、生成非零 RecyclerView itemCount 并完成首次 prime,无需再手动暂停或继续播放。
  • Salt Player、ConePlayer 和已有 8 个 LyricProvider 的适配方式保持不变;外部歌词协议版本仍为 v4。本次不调整已知良好的 AOD 切换时序和官方歌词几何策略。

升级说明

  • Metrolist 用户需要同时安装同一 Release 中的 ColorOS-Live-Lyrics-Bridge-v3.6.0.apkLyricProvider-Metrolist-v3.6.0.apk
  • 在 LSPosed 中启用 Metrolist Provider,并只勾选 Metrolist 作为作用域;随后强行停止并重新打开 Metrolist。首次安装或作用域变化后建议重启设备。
  • 已使用其他播放器的用户可以直接更新 Bridge;原有 Provider 的作用域和使用方式无需改变。Bridge 与 Provider 应来自同一 Release。
  • Metrolist Provider 当前发送原文逐字或逐行歌词,不生成歌词源未提供的翻译。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.6.0.apk
  • LyricProvider-Metrolist-v3.6.0.apk
  • LyricProvider-QQMusic-v3.6.0.apk
  • LyricProvider-163Music-v3.6.0.apk
  • LyricProvider-AppleMusic-v3.6.0.apk
  • LyricProvider-Poweramp-v3.6.0.apk
  • LyricProvider-Spotify-v3.6.0.apk
  • LyricProvider-QiShui-v3.6.0.apk
  • LyricProvider-KuGou-v3.6.0.apk
  • LyricProvider-LXMusic-v3.6.0.apk
  • LyricProvider-v3.6.0.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。

Donate

WeChat and Alipay donation QR code

Assets

11

v3.5.2

Stable

7/30/2026, 10:58:00 AM

ColorOS Live Lyrics Bridge v3.5.2

v3.5.2 是一次 Salt Player 内置适配更新,适配最新的 12.2.0-alpha02 版本,并继续兼容原先已支持的旧版本。

Bridge

  • Salt Player 12.2.0-alpha02 将混淆后的歌词来源枚举、滚动枚举、歌词结果和最终发布协程从 androidx.obf 整体迁移到了 androidx.media3,导致旧版 Bridge 的 DexKit 查询无法发现歌词发布链路。
  • Bridge 现在通过独立的 SaltPlayerDexKitSearchPolicy 同时搜索 androidx.obfandroidx.media3,恢复 12.2.0-alpha02 的歌词捕获,同时保留旧版本兼容。
  • Salt Player 的 Song#getId/getTitle/getArtistMusicService 和媒体按键接收器路径保持不变;最终歌词仍在播放器完成当前歌曲 ID 校验后提交,避免把异步返回的旧歌词绑定到新歌曲。
  • versionCode 从 127 提升到 128,默认 versionName 从 3.5.1 提升到 3.5.2。
  • 本次不修改外部歌词 v4 协议、Provider 准入、SystemUI Renderer、AOD、LyricsRecyclerView prime 或普通 TextView Hook 范围。

LyricProvider

  • 8 个 LyricProvider 本次没有功能源码或内部版本变更。
  • 统一 Release 工作流仍构建并附带全部 Provider APK 与合集 ZIP,方便新安装或按需更新。

验证

  • Salt Player 12.2.0-alpha02 适配测试通过。
  • Bridge 全量 testDebugUnitTestassembleDebug 通过,新增测试覆盖新旧 DexKit 包根及防御性副本行为。
  • GitHub Actions 正式发布构建通过:Bridge、QQ 音乐、网易云音乐、Apple Music、Poweramp、Spotify、汽水音乐、酷狗音乐、LX Music 和双仓库 publish job 全部成功。

升级说明

  • Salt Player 用户更新 Bridge 后重启 Salt Player 进程;如 LSPosed 仍加载旧模块,请重启设备。
  • 本次 Salt Player 修复不需要安装额外 Provider。其他播放器用户无需因功能变化单独更新 Provider。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.5.2.apk
  • LyricProvider-QQMusic-v3.5.2.apk
  • LyricProvider-163Music-v3.5.2.apk
  • LyricProvider-AppleMusic-v3.5.2.apk
  • LyricProvider-Poweramp-v3.5.2.apk
  • LyricProvider-Spotify-v3.5.2.apk
  • LyricProvider-QiShui-v3.5.2.apk
  • LyricProvider-KuGou-v3.5.2.apk
  • LyricProvider-LXMusic-v3.5.2.apk
  • LyricProvider-v3.5.2.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。

Donate

WeChat and Alipay donation QR code

Assets

10

v3.5.1

Stable

7/27/2026, 12:01:49 PM

ColorOS Live Lyrics Bridge v3.5.1

v3.5.1 是一次网易云音乐 LyricProvider 定向修复。Bridge 本体没有业务逻辑变更;本次提升 Bridge 版本并触发统一 Release 工作流,用于发布修复后的 163 Music Provider。

Bridge

  • Bridge 本体保持 v3.5.0 的协议、渲染、AOD 与 Provider 准入行为不变。
  • versionCode 从 126 提升到 127,默认 versionName 从 3.5.0 提升到 3.5.1。

LyricProvider

  • 网易云音乐 Provider 内部版本提升到 1.1.7。
  • 修复网易云音乐 9.0.40 LSPatch 包中词幕无法显示双排翻译的问题:LSPatch 外层 wrapper ClassLoader 在 Hook 初始化阶段看不到原包的 com.netease.cloudmusic.utils.o2.a() 偏好访问器,导致 showLyricSetting 读取为 -1,词幕同时关闭翻译与罗马音。
  • Provider 现在会在 Application.onCreate 后使用原包 application.classLoader 重新解析偏好访问器,再读取 showLyricSetting 并注册词幕 Provider。宿主自带冲突 libdexkit.so 时仍不会加载 Provider 自带 DexKit,保留对 LSPatch 包的进程安全保护。
  • Bridge 侧歌词数据链路原本已正确携带翻译;本次不修改 Bridge、SystemUI Renderer、AOD 或 LyricsRecyclerView 行为。
  • QQ 音乐、Apple Music、Poweramp、Spotify、汽水音乐、酷狗音乐与 LX Music Provider 本次没有源码或内部版本变更;统一 Release 工作流仍会构建这些 APK,以保持 Provider ZIP 合集完整。

验证

  • CloudMusicPlaybackPolicyTest 通过。
  • :163-music:assembleDebug --offline:163-music:assembleRelease --offline 通过。
  • 网易云音乐 9.0.40 LSPatch 真机日志确认偏好访问器由 unavailable 恢复为 com.netease.cloudmusic.utils.o2.a,Provider 以 translationType=0 注册。
  • 真机确认词幕恢复双排翻译显示;Bridge 原有歌词检测与锁屏显示保持正常。

升级说明

  • 本次实际功能修复只在 LyricProvider-163Music-v3.5.1.apk。网易云音乐用户更新该 Provider 后,重启网易云音乐进程;如仍加载旧 Hook,重启设备。
  • 其他播放器用户无需因功能变化单独升级 Provider;完整 Release 仍会附带全部 Provider APK 与 LyricProvider-v3.5.1.zip

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.5.1.apk
  • LyricProvider-QQMusic-v3.5.1.apk
  • LyricProvider-163Music-v3.5.1.apk
  • LyricProvider-AppleMusic-v3.5.1.apk
  • LyricProvider-Poweramp-v3.5.1.apk
  • LyricProvider-Spotify-v3.5.1.apk
  • LyricProvider-QiShui-v3.5.1.apk
  • LyricProvider-KuGou-v3.5.1.apk
  • LyricProvider-LXMusic-v3.5.1.apk
  • LyricProvider-v3.5.1.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。

Donate

WeChat and Alipay donation QR code

Assets

10

v3.5.0

Stable

7/25/2026, 1:44:48 PM

ColorOS Live Lyrics Bridge v3.5.0

v3.5.0 把 v4 外部歌词协议补到可在长歌词场景稳定运行的形态:Bridge 与 Provider 各自新增并对齐了大小限制常量,Provider 侧加入逐行截短重试,LyricInfoContract 支持纯逐字歌词走完整流水线;这一版本同时收紧 BridgePayloadGate 的去重窗口并把 LockscreenLyricsModule 的渲染/时序逻辑拆到独立类,便于后续按层迭代。

Bridge

  • LyricInfoContract.parse 现在接受 lyric 字段为空、rawLyric 含时间戳的 payload:纯逐字歌词会被视为合法 lyric 进入流水线,原始 rawLyric 仍按字渲染路径使用,避免 Provider 主动把逐字降级成逐行后丢字。
  • external-lyric-protocol 新增大小限制常量 MAX_LYRIC_FIELD_CHARS = 1_500_000MAX_TOTAL_LYRIC_CHARS = 3_000_000MAX_METADATA_FIELD_CHARS = 16_384MAX_PARCEL_BYTES = 512 KiB,与 Provider 端 ExternalLyricV4Protocol 同名常量镜像;Bridge 端按字符、Provider 端按 Parcel 字节校验,数字差异由两端的度量单位差异解释,并显式写在常量注释中。
  • 新增独立的 LyricTimingTuningConstantsrender/ 子包,把渲染与时序调整从 LockscreenLyricsModule 拆出;模块类体不再直接承载逐字进度、扫光、首句清理与时序微调逻辑,便于单独 review 与单元测试。
  • 文本匹配、清理与核心 adapter 配合协议层变更同步更新:LyricTextMatchPolicyLyricTextSanitizerLyricsCoreAdapterExternalLyricIngress 调整接收侧数据形态与默认值。
  • app/build.gradle.kts 开启 testOptions.unitTests.isReturnDefaultValues = true,方便本地单元测试在不依赖 Android 桩时通过运行。
  • Bridge 端 README 中英文版同步更新 Provider 安装与常见问题说明。

LyricProvider

  • share/extensions-androidSystemUiBroadcastSender 新增 submitWithLyricLineFallback:当标准 submit 流程因 payload 超大被 SystemUI 拒收(且行级降级后仍超限),会调用 LyricLineTruncator 对三个 lyric extras 做一次有界、按字节预算的中间行截短并重试;retry 时会以调用方传入的原始 lyric/rwLyric/translationLyric 为输入,避免在已降级字符串上重复裁剪。MAX_PARCEL_BYTES 改为引用 ExternalLyricV4Protocol.MAX_PARCEL_BYTES,统一阈值来源。
  • share/extensions-kt 新增 LrcTimeFormatterTrackKeyBuilderLyricLineTruncatorWordTimeNormalizerProviderDiagnostics 等桥接辅助类,分别承担时间格式化、track key 计算、行截短预算、逐字时间归一化与 Provider 端诊断输出;现有 BridgeEventGates.BridgePayloadGate 由单 key 改为 ArrayDeque<Entry> 的多键 LRU,默认保留最近 8 条 30 秒窗口内的 key,支持按 key 主动 forget,避免跨曲目共用同一去重 slot。
  • QQ 音乐、网易云音乐、Apple Music、Spotify、汽水音乐与酷狗音乐 Provider 的 SaltLyricBridge 同步切换到 submitWithLyricLineFallback:当 lyric 为空但 rawLyric 含时间标签时仍把 rawLyric 作为 lyric 兜底,并把 TrackKeyBuilder / WordTimeNormalizer / LrcTimeFormatter 等辅助接入主流程;QQ 音乐与 Spotify 同时把增强 LRC 与纯 LRC 分别装入 rawLyric / lyric,避免时间信息丢失。
  • 酷狗音乐 Provider 移除 KuGouOriginalMediaMetadataPolicy,原职责并入 KuGouOriginalLyricCandidatePolicy:取消"临时车机歌词元数据"覆盖专辑封面路径,恢复真实专辑封面,并修复同曲不同标题版本互相切换时偶发的"暂无歌词"或歌曲信息串用。
  • share/krckitshare/qrckitshare/yrckit 中的 KRC/QRC/YRC parser 与语言识别器微调:保持现有 API,仅修正对部分边界(极短行、空逐字、单次消费)解析的稳定性;QQ QRC 翻译对齐仍使用共享扩展层的有界一对一匹配,不退回逐行 findClosest
  • 新增与本次改动配套的单测:ProviderDiagnosticsTestExternalLyricV4ProtocolSizeLimitsTestLrcTimeFormatterTestLyricLineTruncatorTestTrackKeyBuilderTestWordTimeNormalizerTestYrcParserTest 及更新后的 BridgeEventGatesTest

本次有内部版本更新的 Provider:网易云音乐 1.1.6、QQ 音乐 1.1.6、Apple Music 1.1.4、Spotify 1.1.6、汽水音乐 1.2.6、酷狗音乐 1.1.9。Poweramp 与 LX Music 本次没有 Provider 侧改动,但 Release 工作流仍会构建它们的 APK 以保持 ZIP bundle 完整。

升级说明

  • 请将 Bridge 与正在使用的 Provider 从本次 Release 一起更新;升级后重启设备,或至少重启 SystemUI 与对应播放器进程。
  • 如果你使用的 Provider 在 v3.5.0 之前曾因歌词过大被 SystemUI 拒绝,现在会自动通过逐行截短重试一次;如仍失败,请导出 LSPosed 日志并按 [BRIDGE_GATE][SystemUiBroadcastSender][LyricLineTruncator][ProviderDiagnostics] 关键字定位日志。
  • AOD 首次 attach、prime、槽高、官方行缩放与低刷新切换路径继续沿用 v3.3.0 起的已验证基线,本次未引入新的 AOD 可见性、透明度、尺寸或 readiness 门控。

验证

  • Bridge:testDebugUnitTestassembleDebuglintDebug、LSPosed metadata 校验与 git diff --check 通过。
  • LyricProvider:根项目 testDebugUnitTest 通过;新增的协议大小限制、桥接工具类与 Parser 单测全部覆盖;BridgePayloadGate LRU 行为已通过更新后的 BridgeEventGatesTest 覆盖。
  • Provider 发布包通过 Bridge workflow 同一 tag(v3.5.0)一次性构建:Bridge 主 APK + 8 个 Provider APK + LyricProvider-v3.5.0.zip 一起上传到 GitHub Release 与 LSPosed 仓库。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.5.0.apk
  • LyricProvider-QQMusic-v3.5.0.apk
  • LyricProvider-163Music-v3.5.0.apk
  • LyricProvider-AppleMusic-v3.5.0.apk
  • LyricProvider-Poweramp-v3.5.0.apk
  • LyricProvider-Spotify-v3.5.0.apk
  • LyricProvider-QiShui-v3.5.0.apk
  • LyricProvider-KuGou-v3.5.0.apk
  • LyricProvider-LXMusic-v3.5.0.apk
  • LyricProvider-v3.5.0.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。汽水音乐用户仍需在 LSP 管理器中为汽水音乐启用"还原内联钩子",并按管理器提示处理 libart.so

Donate

WeChat and Alipay donation QR code

Assets

10

v3.4.1

Stable

7/23/2026, 8:30:09 PM

ColorOS Live Lyrics Bridge v3.4.1

v3.4.1 是一次兼容性与稳定性小修复,重点处理 Provider 安装检测、歌词开头清理、酷狗切歌,以及 LX Music 的切歌诊断。

Bridge

  • 修复 Android 11 及以上版本中,播放器翻译设置把已安装的 LyricProvider 误判为“未安装”的问题;现在会正确识别 QQ 音乐、网易云音乐、Apple Music、LX Music、Poweramp、Spotify、汽水音乐与酷狗音乐 Provider。
  • 补全英文制作人员信息的开头清理识别,并在清理后收紧歌词行,避免这些信息留下大段空白。
  • 修正官方歌词列表含有插入行时的行位映射,避免后续歌词被错位匹配、抑制或显示为空白。

LyricProvider

  • 修复网易云音乐、QQ 音乐、Spotify 与汽水音乐在 Bridge 的切歌门控下影响词幕原有歌曲提交的问题,恢复与词幕并用时的正常歌词检测与显示。
  • 修复酷狗同曲不同标题版本互相切换时串用歌曲信息或显示“暂无歌词”的问题;同时保留真实专辑封面,不再被临时车机歌词元数据覆盖为纯色封面。
  • LX Music 改进播放器进程重启后的轨道代次,避免 SystemUI 因旧代次拒收新歌词;新增低频、脱敏的 LSPosed 探针日志,便于排查极少数切歌后歌词入口消失的问题。

本次有内部版本更新的 Provider:网易云音乐 1.1.5、QQ 音乐 1.1.5、Spotify 1.1.5、汽水音乐 1.2.5、酷狗音乐 1.1.8、LX Music 1.0.2。Apple Music 与 Poweramp 本次无需单独升级。

升级说明

  • 请将 Bridge 与正在使用的 Provider 从本次 Release 一起更新;升级后重启设备,或至少重启 SystemUI 与对应播放器进程。
  • 如 LX Music 仍复现“切歌后歌词入口消失”,请导出 LSPosed 日志并筛选 [LX_PROBE]LXMusicProbeLockscreenLyrics,不要附带完整歌词正文。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.4.1.apk
  • LyricProvider-QQMusic-v3.4.1.apk
  • LyricProvider-163Music-v3.4.1.apk
  • LyricProvider-AppleMusic-v3.4.1.apk
  • LyricProvider-Poweramp-v3.4.1.apk
  • LyricProvider-Spotify-v3.4.1.apk
  • LyricProvider-QiShui-v3.4.1.apk
  • LyricProvider-KuGou-v3.4.1.apk
  • LyricProvider-LXMusic-v3.4.1.apk
  • LyricProvider-v3.4.1.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。汽水音乐用户仍需在 LSP 管理器中为汽水音乐启用“还原内联钩子”,并按管理器提示处理 libart.so

Donate

WeChat and Alipay donation QR code

Assets

10

v3.4.0

Stable

7/22/2026, 8:41:15 AM

ColorOS Live Lyrics Bridge v3.4.0

v3.4.0 将 Bridge 与配套 LyricProvider 统一到新的歌词传递链路,重点是让完整歌词、逐字进度、翻译与切歌状态在 ColorOS 锁屏上更稳定地协同工作。

Bridge

  • Bridge 主模块新增专属应用图标,替换此前的系统默认图标。
  • 统一外部歌词 v4 传递协议,并按已登记的播放器与来源接收数据,减少切歌、后台恢复和播放器进程重载后的歌词丢失。
  • 优化外部歌词的轨道切换、播放进度与翻译状态衔接;锁屏翻译按钮在播放器提供翻译时保持可用。
  • 修复酷狗 Lite / 酷狗概念版部分逐字歌词行的渲染错位与空白问题。
  • 优化逐字进度扫光和已播放文字的过渡,使高亮变化更连贯自然。
  • 改进歌词开头清理:规则与逐曲“第一句正式歌词”不再被旧容量限制截断,跨歌词轨道时能更可靠地保留用户选择的首句。

LyricProvider

  • 网易云音乐 Provider 兼容历史 9.0.40 的 :play 播放进程及荣耀版包名;对内置 LSPatch / DexKit 的特殊 APK 使用兼容初始化,避免冲突。
  • 修复 QQ 音乐 QRC 原文与翻译时间戳存在偏差时的翻译行遗漏,改为按时序一对一对齐,并保留“无翻译”行的语义。
  • 新增 LX Music Provider,支持 ToSide 与 Walnut 两个 LX Music 变体;可传递完整时间轴和可用的翻译歌词。
  • QQ 音乐、网易云音乐、Apple Music、Poweramp、Spotify、汽水音乐、酷狗音乐/概念版与 LX Music 共 8 个 Provider 已统一适配 v4 链路。
  • 保留 LyricProvider / 词幕原有功能;本次只调整面向 Bridge 的传递与诊断路径。

升级说明

  • 请将 Bridge 与已安装的 Provider 一起更新,避免混用旧版 Provider。
  • 首次安装或升级后请重启设备,使 SystemUI 与播放器进程重新加载模块。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.4.0.apk
  • LyricProvider-QQMusic-v3.4.0.apk
  • LyricProvider-163Music-v3.4.0.apk
  • LyricProvider-AppleMusic-v3.4.0.apk
  • LyricProvider-Poweramp-v3.4.0.apk
  • LyricProvider-Spotify-v3.4.0.apk
  • LyricProvider-QiShui-v3.4.0.apk
  • LyricProvider-KuGou-v3.4.0.apk
  • LyricProvider-LXMusic-v3.4.0.apk
  • LyricProvider-v3.4.0.zip

Provider 为独立 LSPosed 模块,只需安装自己使用的播放器对应 APK。汽水音乐用户仍需在 LSP 管理器中为汽水音乐启用“还原内联钩子”,并按管理器提示处理 libart.so

Donate

WeChat and Alipay donation QR code

Assets

10

v3.3.1

Stable

7/18/2026, 12:57:19 PM

ColorOS Live Lyrics Bridge v3.3.1

v3.3.1 主要完善歌词排版和设置页操作,并修复一类短英文逐字歌词识别问题。AOD 首次挂载、prime、槽高和低刷新时序继续沿用 v3.3.0 的已验证基线。

Bridge

  • 新增独立的“歌词内换行额外间距”,范围为 -1–8dp、步进 0.5dp。它只调整同一条歌词内部的换行,不影响歌词条目之间的间距;锁屏槽高、两行浏览窗口和设置预览共用同一套计算,总内部行距不会小于 0dp
  • 主歌词可调字号上限从 26sp 提高到 28sp;没有翻译的布局继续自动增加 2sp,实际最高 30sp。翻译和无翻译布局现在使用统一的字体度量换行策略,改善较大字号下的中文、日文等长句排版。
  • 设置页新增“重启系统界面”按钮。请求通过模块已有的 signature 权限广播交给 SystemUI,并返回接收确认;如果模块尚未加载到 SystemUI,会提示用户先重启设备。
  • 修复类似 “You move on” 的短英文逐字歌词在同时间戳双语组中被误判成翻译的问题,并补充解析回归测试。
  • 重新编写原仓库及 LSPosed 仓库的中英文 README,以更清晰的方式说明模块功能、设备要求、播放器适配、Provider 安装和常见问题。
  • 保持已验证的 AOD 首次 attach、prime、槽高、官方行缩放与低刷新切换路径不变。

LyricProvider

本次没有修改 Provider 侧适配逻辑。Release 工作流仍会从当前 Andrea-lyz/LyricProvidermaster 构建并发布 7 个独立 Provider APK;建议 Bridge 与已安装的 Provider 一并更新,避免 Release 版本混用。

验证

  • Bridge:testDebugUnitTestassembleDebuglintDebug、LSPosed metadata 校验和 git diff --check 通过。
  • 新增并更新了短英文主歌词选择、配置序列化、字号上限、换行间距边界、预设识别和槽高计算单元测试。
  • AOD 相关实现未改变;本版本不引入新的 AOD 可见性、透明度、尺寸或 readiness 门控。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.3.1.apk
  • LyricProvider-QQMusic-v3.3.1.apk
  • LyricProvider-163Music-v3.3.1.apk
  • LyricProvider-AppleMusic-v3.3.1.apk
  • LyricProvider-Poweramp-v3.3.1.apk
  • LyricProvider-Spotify-v3.3.1.apk
  • LyricProvider-QiShui-v3.3.1.apk
  • LyricProvider-KuGou-v3.3.1.apk
  • LyricProvider-v3.3.1.zip

Provider 为独立的 LSPosed 模块,不会打包进 Bridge APK。汽水音乐用户仍需在 LSP 管理器中为汽水音乐开启“还原内联钩子”,并按管理器提示处理 libart.so

Donate

WeChat and Alipay donation QR code

Assets

9

v3.3.0

Stable

7/17/2026, 8:30:33 PM

ColorOS Live Lyrics Bridge v3.3.0 - 强烈建议更新!

v3.3.0 重点改善 ColorOS/SystemUI 版本兼容性,并对全部 LyricProvider 的播放状态、曲目切换和歌词提交链路进行统一收束。
建议 Bridge 与已安装的 Provider 一并更新。

Bridge

  • 不再依赖固定混淆字段名控制官方歌词行距和非活动行缩放;新增经指纹验证的兼容布局,并在未知 SystemUI 版本上使用 DexKit 语义解析。无法唯一确认字段时安全保留官方默认值,避免错误写入私有字段。
  • 外部歌词在后台预处理阶段即应用当前“歌词开头信息清理”配置,并缓存清理后的逐字模型和提交载荷,避免 SystemUI 接收前后行数变化造成切歌时部分歌词延迟出现。
  • 收紧 RecyclerView 所有权、绑定重试、官方绘制抑制和解析 trace 日志。常规运行保持静默;逐帧诊断使用主 Tag VERBOSE,完整解析日志使用 LockscreenLyricsParse=VERBOSE
  • 保持已验证的 AOD 首次 attach、prime、槽高与低刷新时序不变。

LyricProvider

  • 为网易云、QQ 音乐、Spotify 和汽水音乐统一播放状态提交策略,降低启动首曲、切歌、暂停恢复以及元数据/歌词异步到达时的旧数据回写与闪烁风险。
  • 抽取统一的 Bridge 广播发送、播放状态提交、载荷大小控制和逐字片段兼容策略,并补充单元测试。
  • 修复 QQ 音乐部分逐字歌词中的短重复片段无法显示,以及切歌时歌词分批出现的问题;空歌词占位等待窗口调整为 1200ms,明确下载失败时仍立即回退。
  • 改进汽水音乐官方歌词获取、数据库缓存、KTV 逐字解析和曲目身份判断,兼容更多实际播放时序。
  • 将相同的提交与身份保护推广到网易云、Apple Music、酷狗、Poweramp 和 Spotify;降低常规成功、缓存命中和提交日志噪声,WARN/ERROR 继续保留。

Provider 内部版本:

  • QQ Music:1.1.3 / versionCode 8
  • NetEase Cloud Music:1.1.3 / versionCode 13
  • Apple Music:1.1.2 / versionCode 10
  • Spotify:1.1.3 / versionCode 9
  • QiShui Music:1.2.3 / versionCode 6
  • KuGou Music:1.1.6 / versionCode 11
  • Poweramp:1.0.13 / versionCode 10

验证

  • Bridge:testDebugUnitTestassembleDebuglintDebug、LSPosed metadata 校验和 git diff --check 通过。
  • 7 个随附 Provider:单元测试、assembleDebuglintDebug 通过。
  • 已实机验证网易云、QQ 音乐、Spotify、汽水音乐、Apple Music、酷狗和 Poweramp 的播放、切歌与锁屏歌词链路。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.3.0.apk
  • LyricProvider-QQMusic-v3.3.0.apk
  • LyricProvider-163Music-v3.3.0.apk
  • LyricProvider-AppleMusic-v3.3.0.apk
  • LyricProvider-Poweramp-v3.3.0.apk
  • LyricProvider-Spotify-v3.3.0.apk
  • LyricProvider-QiShui-v3.3.0.apk
  • LyricProvider-KuGou-v3.3.0.apk
  • LyricProvider-v3.3.0.zip

Provider 为独立的 LSPosed 模块,不会打包进 Bridge APK。汽水音乐用户仍需在 LSP 管理器中为汽水音乐开启“还原内联钩子”,并按管理器提示处理 libart.so

Donate

WeChat and Alipay donation QR code

Assets

9

v3.2.1

Stable

7/17/2026, 2:42:34 AM

ColorOS Live Lyrics Bridge v3.2.1

v3.2.1 收束锁屏歌词的渲染职责与界面切换时序。亮屏阶段由 ColorOS SystemUI 独占当前行索引、seek 定位、平滑滚动、页面过渡和行缩放;模块只负责逐字、颜色、光晕、模糊、排版与受限槽位几何。该调整修复拖动进度后概率回落官方渲染、从解锁/指纹界面返回歌词页时非实时行延迟出现、居中或右对齐缩放错位,以及切歌模型替换时的歌词位移和生硬跳变,同时保持已验证的 AOD 首次 attach、prime 与低刷新路径不变。

亮屏渲染职责

  • 亮屏时完整放行官方 LyricsRecyclerView.setCurrentLyric 链路,不再由模块主动 prime、强制定位、停止滚动或修正 seek;官方当前索引 n 优先作为活动行依据。
  • AOD 或非交互屏幕继续保留既有一次性 prime 与定位兜底,不把亮屏改造扩展到已验证的 AOD 时序。
  • 非活动行缩放只写入官方缩放参数,由 SystemUI 状态机执行实际缩放与动画;移除 Canvas 第二次缩放,避免活动态、逐字态和页面交叉淡入不同步。
  • RecyclerView、页面 alpha、visibility、translation 和 ViewPropertyAnimator 始终归 SystemUI 所有,模块不再通过整体 View alpha 实现切歌过渡。

Seek 与界面切换

  • 同一曲目回拉或跳转进度时保留已经就绪的外部逐字模型,不再把播放位置跳变误当成需要清空自绘渲染器的曲目重启。
  • 瞬时找不到可见 RecyclerView 时增加受限过渡宽限;已存在歌词模型和界面切换信号时不会立即退出歌词模式。
  • 每个 RecyclerView 独立维护活动目标、绑定 epoch 和自定义帧状态;重复歌词使用 adapter position 消歧,唯一歌词不会因 RecyclerView pre-layout 的瞬时位置错位被拒绝。
  • RecyclerView attach、重新可见和模型提交会执行最多 6 帧/120ms 的纯像素 render pass。只有当前表面的可映射绑定行都已生成同一模型的自定义帧后才提前结束 handoff,避免某一帧回落官方字体或只显示实时行。
  • 当缓存行都属于已隐藏表面时,会从当前已附着 RecyclerView 重新发现候选 TextView;恢复过程只更新绘制引用和 invalidate,不触碰索引、滚动或槽位坐标。

对齐、缩放与切歌过渡

  • 左对齐、居中和右对齐均按实际内容区域计算官方缩放 pivot;首次布局前使用 measured size,尺寸变化后重新校正,修复居中视觉漂移和右对齐放大方向错误。
  • 新歌词模型发布后,亮屏绘制会等待内容决定的槽位高度完成一次几何提交,避免先用上一首歌的行高绘制新歌词后再次位移。
  • 几何提交完成后仅对模块自绘歌词像素执行一次轻量淡入,不修改 RecyclerView alpha;“关闭动效”和 AOD 路径不执行该淡入。
  • 字号、字重、对齐和模型替换只清理必要的绘制、换行、光晕与绑定缓存,不接管官方滚动事务。

诊断与测试

  • 增加亮屏/AOD 渲染所有权快照,可核对 owner、官方索引、可见范围、子项数量和目标中心;亮屏应显示 owner=systemui
  • 新增同曲 seek 保留、瞬时 surface miss、官方索引优先、亮屏/AOD 定位职责、缩放钳制、几何提交屏障、动效关闭和首次布局 pivot 回归测试。
  • 实机已覆盖进度拖动、解锁/指纹界面往返、居中/右对齐、75%/90% 非活动缩放、连续切歌和 AOD 往返;未再观察到官方渲染回落、非实时行延迟、视觉对齐错乱或歌词行抖动。
  • testDebugUnitTestassembleDebuglintDebug、LSPosed metadata 校验和 git diff --check 均通过;Lint 无错误,仅保留既有的版本兼容、依赖、资源反射和一次性 DexKitBridge 提示。

LyricProvider

  • LyricProvider 协议和代码保持不变,已安装 v3.1.0/v3.2.0 Provider 的用户无需更新;Release 继续附带全部 Provider APK 与合集,便于首次安装或补装。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.2.1.apk
  • LyricProvider-QQMusic-v3.2.1.apk
  • LyricProvider-163Music-v3.2.1.apk
  • LyricProvider-AppleMusic-v3.2.1.apk
  • LyricProvider-Poweramp-v3.2.1.apk
  • LyricProvider-Spotify-v3.2.1.apk
  • LyricProvider-QiShui-v3.2.1.apk
  • LyricProvider-KuGou-v3.2.1.apk
  • LyricProvider-v3.2.1.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.2.0

Stable

7/16/2026, 5:54:09 PM

ColorOS Live Lyrics Bridge v3.2.0

v3.2.0 在 v3.1.0 自定义能力的基础上完成设置链路、解析稳定性与渲染性能收束。本版本修复设置链路可能覆盖外观配置、极近时间戳的歌词开头信息可能干扰逐字行匹配,以及自绘歌词每帧触发 SystemUI 全量测量与布局的问题;不改变既有 RecyclerView prime、滚动、槽位动画或 AOD 低刷新时序。

设置链路热修

  • 播放器翻译设置只更新全局翻译默认值、播放器默认值和清除记忆请求,不再携带并回写可能过期的完整外观快照,避免居中、字号、行距、透明度和光晕等设置被意外恢复。
  • 修复设置页 Spinner 初始化回调可能被误判为用户操作的问题,避免进入页面或重新绑定预设时意外应用“默认”预设。
  • 修复设置页首次绑定发生在滑块监听器安装之前时,数值文字仍停留在控件下限的问题;保存后重新进入页面,透明度、模糊、缩放、光晕、字号、翻译比例和行距的文字会与滑块及实际配置一致。
  • 页面因系统重建时会保存并恢复尚未提交的配置草稿,减少旋转、窗口重建等场景下的编辑内容丢失。
  • 设置广播增加单调递增 revision、来源标识和受保护的 ResultReceiver 回执;设置页会区分“已保存”“SystemUI 已应用”“SystemUI 拒绝”和“未收到确认”。
  • Logcat 增加 settings-sendsettings-receivesettings-appliedsettings-acksettings-rejected 事件,并记录 revision、来源和最终对齐值,便于诊断偶发的设置未生效或对齐回退。
  • 修正悬浮预览相对标题栏边界的坐标换算,优先使用实际 ActionBar 容器底边,避免预览框贴到屏幕顶端或遮挡标题栏。
  • 设置页滑块改用不注册系统手势排除区的轻量控件,避免长页面滚动时每帧为多个原生滑块反复计算手势排除区与避让区。
  • 设置页窗口稳定请求最高 120 Hz,并关闭独立的触摸升频投票;Android 15 及以上启用帧率省电平衡提示,使 LTPO 面板仍可在内容静止时向下自适应,避免滚动期间在 60/120 Hz 间反复切换造成 Buffer Stuffing。
  • 合并悬浮预览的位置更新到下一帧执行,复用坐标缓存,并跳过没有变化的位移和阴影高度写入;滚动期间将整块预览临时缓存为硬件层,停止 160ms 后释放,降低主线程与 RenderThread 的重复绘制,同时不长期占用额外显存。

歌词解析与显示修复

  • 修复极近时间戳的开头信息被 Accompanist 误合并为双语歌词的问题。例如相邻的“作词”“作曲”和第一句双语歌词会重新保持各自时间轴行,避免后续 RecyclerView 索引整体错位。
  • 解决关闭所有可选歌词开头清理规则后,部分歌词可能出现逐字进度中途消失、相邻同文歌词同时高亮,以及制作信息异常放大的问题。
  • 修复仅拆分能够确认吸收了非歌词信息的解析行;其余歌词继续保留上游逐字区间和翻译匹配结果,避免对正常的轻微错位双语歌词造成影响。
  • 增加受频率限制的官方绘制回退诊断,记录模型缺失、行匹配失败和绘制异常,同时继续将 Hook 范围限制在 LyricsRecyclerView 内。

SystemUI 渲染性能热修

  • 将官方歌词 TextView 的字体内边距和最小高度准备改为幂等操作:属性已经满足要求时不再重复调用 setter。
  • 修复自绘路径每帧调用 TextView.setMinHeight(0) 并触发 requestLayout(),导致整个锁屏通知面板几乎每帧重新 measure/layout 的问题。
  • 保留逐字进度、光晕、模糊和滚动的原有刷新节奏;不通过降帧隐藏 CPU 开销,也不修改翻译展开/收起的真实槽位动画。
  • 不移动或延迟 LyricsRecyclerView 首次 attach、prime、setCurrentLyric、可见行高度同步及 AOD 低刷新路径。

刷新率与媒体封面

  • 将“最大动态刷新率”更名为“歌词刷新上限”,并明确该设置只限制歌词内容重绘,不会强制 ColorOS 将锁屏物理刷新率升至 90/120 Hz;系统降至 60 Hz 时歌词也会随之降至 60 帧。
  • 固定 60/90/120 Hz 改为按显示帧时间做截止时间节拍。修复 90 Hz 在 120 Hz 屏幕上因毫秒取整而实际退化为逐 VSync 刷新的问题,同时不会在物理屏幕已经降频时虚构额外帧。
  • 修复 Salt Player 冷启动首曲歌词结果回写与异步封面加载竞争的问题:歌词元数据只进行一次延迟发布,并在发布前重新读取当前 MediaSession 元数据和核对曲目身份,不再用较早保存的元数据快照覆盖刚更新的封面。
  • 歌词元数据发布日志增加位图尺寸、generation、对象标识和 URI 摘要,后续若仍出现播放器自身上报旧封面的情况,可以区分播放器源数据与 SystemUI 缓存问题;不会复制、清空或修改封面像素。

修复测试结果

同一设备、模块开启并使用 Salt Player 锁屏歌词的 60 秒 Perfetto 前后对比结果如下:

指标 v3.1.0 v3.2.0 构建 变化
SystemUI 总 CPU 57.63% 45.33% 下降约 21%
SystemUI 主线程 CPU 26.48% 14.83% 下降约 44%
RenderThread CPU 24.89% 24.12% 基本不变
measure 3616 次/分钟 36 次/分钟 减少约 99%
layout 3616 次/分钟 36 次/分钟 减少约 99%
  • 官方锁屏歌词参考样本的 SystemUI 主线程为 14.56%、RenderThread 为 24.45%、measure/layout 各 99 次/分钟;优化后主线程开销已接近官方参考路径。官方样本为维持亮屏包含周期唤醒命令,因此只作为参考,不作为严格的整机耗电等价对照。
  • 修复前后均保持约 60 帧/秒的歌词绘制采样,性能下降并非通过关闭逐字刷新或降低亮屏歌词帧率取得。
  • 修复后 Perfetto 有效时长为 59.991 秒,未发现跟踪数据丢失或非信息级 trace stats 错误。
  • testDebugUnitTestassembleDebuglintDebuggit diff --check 均通过;Lint 无错误,仅保留既有的兼容性、依赖版本、资源反射和一次性 DexKitBridge 解析提示。
  • 新增配置 round-trip、播放器翻译不得覆盖外观、设置 revision 单调性、悬浮预览坐标和极近时间戳开头信息解析回归测试。
  • 新增 60/90/120 Hz 截止时间节拍单测;设置页 120 Hz 连续滚动 CPU 通常约 30%、峰值约 40%,与系统设置页同类滚动负载接近,停止滚动后正确回落到接近 0%,未发现持续后台占用。
  • 冷启动首曲封面发布增加当前曲目身份复核与诊断信息;播放器强制停止后的首曲概率场景仍建议后续持续观察。

LyricProvider

  • LyricProvider 协议和代码保持不变,已安装 v3.1.0 Provider 的用户无需更新;本次问题均在 Bridge 设置、解析和 SystemUI 绘制侧修复。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.2.0.apk
  • LyricProvider-QQMusic-v3.2.0.apk
  • LyricProvider-163Music-v3.2.0.apk
  • LyricProvider-AppleMusic-v3.2.0.apk
  • LyricProvider-Poweramp-v3.2.0.apk
  • LyricProvider-Spotify-v3.2.0.apk
  • LyricProvider-QiShui-v3.2.0.apk
  • LyricProvider-KuGou-v3.2.0.apk
  • LyricProvider-v3.2.0.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.1.0

Stable

7/16/2026, 3:00:21 AM

ColorOS Live Lyrics Bridge v3.1.0

v3.1.0 完成歌词设置、渲染和内容清理的系统化升级。本版本开放安全的外观与排版自定义,同时把配置、预览、广播、缓存和 SystemUI 绘制收束到同一套版本化模型,并保持已验证的 AOD 首次挂载与低刷新路径。

歌词外观与预览

  • 新增“默认、柔和、醒目、极简”四种外观预设;手动修改预设所管理的字段后自动显示为“自定义”。
  • 开放非活动歌词透明度、模糊、非活动缩放、光晕强度与半径、主色/光晕色、动效等级、长歌词纵向浏览和长翻译横向滚动。
  • 开放主歌词字号、翻译字号比例、字重、左对齐/居中/右对齐和 -5–20dp 歌词行间距;所有预设的默认行距为 0dp
  • 最大动态刷新率可跟随屏幕或限制为设备支持的 60/90/120 Hz,仅限制歌词内容重绘,不强制改变屏幕刷新率;AOD 继续使用低刷新路径。
  • 设置页预览显示当前行及后续两行的主歌词与翻译,复用锁屏槽高、排版、行距、缩放和对齐策略;滚动后会平滑吸附在标题栏下方,便于边调边看。
  • “恢复默认外观”只重置外观字段,不修改屏幕保活、刷新率、播放器翻译默认值或歌词内容清理策略。

稳定自适应布局

  • 歌词物理槽位按换行、翻译和排版配置稳定计算,保留最小高度、字体上下边界与底部安全空间,修复 g 等下伸字符的轻微裁剪。
  • 主歌词仍最多同时显示两行;超过两行时保留完整换行结果,并在固定两行视窗内按歌词进度平滑展示后续内容,避免复杂歌词忽大忽小。
  • 翻译展开/收起重新压缩 RecyclerView 行高,并以统一动画进度同步所有可见行和当前行锚点,减少突跳和掉帧;AOD 只应用一次终态高度。
  • 修正居中与右对齐时的缩放原点、视觉中心和长文本浏览方向;设置项使用“左对齐/居中/右对齐”可读名称。
  • 同步 AOD/亮屏切换时的光晕与逐字效果,并统一 AOD 当前主歌词和翻译行亮度。

播放器翻译与歌词开头清理

  • “播放器翻译设置”迁移到“兼容与屏幕”中的独立页面,可按播放器设置默认翻译并单独清除记忆;Salt Player 与 ConePlayer 始终显示,Provider 播放器会根据对应 APK 是否安装自动灰置。
  • 新增“歌词开头信息清理”二级页面,以开关提供常见版权声明、制作/乐器信息和“歌名 - 歌手”开头规则;影响解析正确性的保护规则固定保留。
  • 可一次性读取当前歌曲前 80 个时间轴行,直接选择第一句正式歌词;逐曲修正绑定原始 trackKey 与行指纹,不依赖易变化的行号。
  • 可从未识别行中选择安全的前缀或整行格式供其他歌曲复用,无需编写正则或 DSL;规则受开头 30 秒、32 个候选、32 条规则和 4 KiB 快照等边界限制。
  • 移除原计划中的展示元数据 DSL;清理只影响模块生成的歌词显示,不修改 MediaSession、Provider 原始数据、曲目身份或歌词时间轴。

配置、日志与解析

  • 引入不可变、版本化歌词 UI 配置及统一校验、迁移和 SharedPreferences 仓库;设置采用“保存并应用”,保存前只更新预览。
  • 设置广播从外部歌词 Receiver 中拆分,并使用 signature 权限保护;未知未来 schema 会被拒绝,缺失字段保持当前配置。
  • Accompanist Lyrics Core 从 0.4.5 升级至 0.4.7,补充 YRC 逐字、LRC、TTML、翻译和逐字区间回归覆盖。
  • Logcat 统一为 [进程][模块][事件] message | key=value,保留独立解析 Tag、长消息分块、控制字符转义和 LSPosed 必要错误镜像。
  • Java 源码和构建显式使用 UTF-8;可见 Unicode 转义改为可读文字,不可见字符使用具名 code-point 常量。

设置与稳定性修复

  • 修复设置二级页顶部被系统栏遮挡、输入框被输入法遮挡、自动填充干扰、选项文字未对齐和滚动预览闪退。
  • “歌词显示时保持屏幕”更名为“歌词显示时保持屏幕点亮”,留空的自定义秒数继续表示默认常亮行为。
  • 恢复 LSPosed 管理器中的模块图标占位,并保持应用图标、备份规则和 WindowInsets 配置完整。
  • 保持 compileSdk/targetSdk 35;Android 36 版本提示作为独立兼容性工作,不使用全局 Lint 基线隐藏。

LyricProvider

  • QQ 音乐、网易云音乐、Spotify、汽水音乐和 Poweramp Provider 不再提前删除开头制作信息,只过滤空行并排序,将显示级清理统一交给 Bridge/SystemUI。
  • Poweramp 的普通歌词与行内括号歌词路径均保留带时间轴的开头信息。
  • 酷狗 Provider 加强车载歌词展示元数据与乱码制作信息识别,避免展示文本被误当成稳定曲目身份。
  • 更新受影响 Provider 内部版本,旧版仍可提供歌词,但需要更新后才能完整使用可配置的开头信息清理。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.1.0.apk
  • LyricProvider-QQMusic-v3.1.0.apk
  • LyricProvider-163Music-v3.1.0.apk
  • LyricProvider-AppleMusic-v3.1.0.apk
  • LyricProvider-Poweramp-v3.1.0.apk
  • LyricProvider-Spotify-v3.1.0.apk
  • LyricProvider-QiShui-v3.1.0.apk
  • LyricProvider-KuGou-v3.1.0.apk
  • LyricProvider-v3.1.0.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.0.4

Stable

7/12/2026, 11:25:17 PM

ColorOS Live Lyrics Bridge v3.0.4

v3.0.4 完善了关闭“普通逐行伪逐字”后的长歌词显示:普通逐行歌词换行超过两行时,不再固定截断在前两行,而是在保持两行视窗和既有 RecyclerView 几何不变的前提下,随整句播放进度平滑展示后续内容。

Bridge 改进

  • 普通逐行歌词关闭伪逐字后,三行正文使用固定两行裁剪视窗,从第 1、2 行平滑移动至第 2、3 行。
  • 被动滚动完全由当前歌词的行时间轴驱动,不额外模拟字级时间,也不绘制伪逐字高亮。
  • 滚动采用 21.5%~78.5% 的有效进度区间和五次平滑插值,起步、停止更柔和,中段移动更自然。
  • 暂停时滚动位置冻结,恢复后继续;拖动播放进度时直接落到对应位置,避免独立动画时钟造成漂移。
  • 仅在符合条件的当前长歌词需要移动时保持显示帧率刷新;普通短句和静止状态继续走较低刷新频率。
  • 重复或回收中的非当前歌词 holder 不会覆盖当前行的刷新判断。

稳定性边界

  • 不改变 LyricsRecyclerView 的滚动位置、item 定位、prime 或 setCurrentLyric 时机。
  • 不修改普通 SystemUI TextView;裁剪和自绘仍只作用于歌词 RecyclerView 内部。
  • AOD 继续沿用已验证的低帧率与首次 attach 时序,不启用本次连续被动滚动。

LyricProvider

  • LyricProvider 代码与内部版本保持不变,已安装的 Provider 无需更新;Release 仍附带各播放器 Provider APK 和合集,便于首次安装或补装。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.0.4.apk
  • LyricProvider-QQMusic-v3.0.4.apk
  • LyricProvider-163Music-v3.0.4.apk
  • LyricProvider-AppleMusic-v3.0.4.apk
  • LyricProvider-Poweramp-v3.0.4.apk
  • LyricProvider-Spotify-v3.0.4.apk
  • LyricProvider-QiShui-v3.0.4.apk
  • LyricProvider-KuGou-v3.0.4.apk
  • LyricProvider-v3.0.4.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.0.3

Stable

7/12/2026, 10:35:38 AM

ColorOS Live Lyrics Bridge v3.0.3

v3.0.3 是针对部分 ColorOS 16 / SystemUI 版本启动崩溃的兼容性修复版本,重点解决启用模块后冷启动卡在锁屏界面、SystemUI 主线程 ANR 并进入 LSPosed 安全模式的问题。

Bridge 修复

  • 移除全局 ClassLoader.loadClass(String, boolean) Hook,避免在 SystemUI 主线程拦截所有类加载并引发高负载或 ANR。
  • 改为仅 Hook OPlus OPlusPluginClassLoader 构造过程,在实际歌词插件 ClassLoader 上安装 LyricsRecyclerView 相关 Hook,并保留首次 View attach 的兜底路径。
  • 防止可选的 RecyclerView 通知保护方法缺失时重复安装 setCurrentLyric Hook,降低不同 SystemUI 变体上的重复拦截风险。
  • 将歌词 RecyclerView 匹配缓存中的 View 引用改为弱引用,避免静态缓存意外持有 SystemUI View 层级。
  • 收紧 LyricsRecyclerView 类型判断,避免误匹配普通 SystemUI View;AOD 首次 attach、透明、位移或 0x0 状态的既有时序保持不变。

兼容性验证

  • 在 OnePlus PJZ110、Android 16、SystemUI 16.0.9.401 测试机上完成冷启动与多轮 AOD/亮屏切换测试。
  • 测试日志中未出现 SystemUI ANR、崩溃或 LSPosed 安全模式回退;歌词索引和 AOD 切换保持正常。

LyricProvider

  • LyricProvider 代码与内部版本保持不变,已安装的 Provider 无需更新;Release 仍附带各播放器 Provider APK 和合集,便于首次安装或补装。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.0.3.apk
  • LyricProvider-QQMusic-v3.0.3.apk
  • LyricProvider-163Music-v3.0.3.apk
  • LyricProvider-AppleMusic-v3.0.3.apk
  • LyricProvider-Poweramp-v3.0.3.apk
  • LyricProvider-Spotify-v3.0.3.apk
  • LyricProvider-QiShui-v3.0.3.apk
  • LyricProvider-KuGou-v3.0.3.apk
  • LyricProvider-v3.0.3.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.0.2

Stable

7/10/2026, 6:35:57 PM

ColorOS Live Lyrics Bridge v3.0.2

v3.0.2 是 v3.0.1 的歌词交接与渲染细节修复版本,重点处理 Apple Music 自动切歌偶发“暂无歌词”,以及普通逐行歌词启用伪逐字时末句进度过快完成的问题。

Bridge 修复

  • Apple Music 外部歌词交接改为优先跟随 Bridge MediaSession 的最新曲目元数据,避免队列预加载或旧的播放器回调把 Bridge 重新指向上一首/下一首歌曲。
  • Apple Music 歌词到达后增加受限的 SystemUI 元数据刷新重试,并过滤同一交接窗口内会把旧歌词重新推进来的陈旧播放状态,降低自动切歌后短暂显示“暂无歌词”的概率。
  • 普通逐行歌词的伪逐字模式不再给最后一句使用固定的 600ms 结束时间;会根据前面歌词节奏和末句文本长度估算显示时长,并限制在合理范围内。真实逐字时间轴和显式结束时间不受影响。
  • 保持 v3.0.1 已验证的 AOD、锁屏岛切换、RecyclerView 通知保护和 SystemUI 性能优化行为不变。

LyricProvider 修复

  • Apple Music Provider:MediaSession 元数据作为 Bridge 曲目身份的权威来源,避免 PlaybackItem 队列预加载覆盖当前曲目,并确保已构建的歌词发送到正确的 Bridge generation。
  • Poweramp Provider:兼容不同 Poweramp 版本中以 IntLong 提供的歌词时长字段。
  • 本次随发布的 7 个 Bridge Provider 均递增内部 versionCodeversionName,安装过旧 Provider 的用户需要更新对应 APK。

Provider 版本

  • QQ Music Provider:1.1.1 / versionCode 6
  • NetEase Cloud Music Provider:1.1.1 / versionCode 11
  • Apple Music Provider:1.1.1 / versionCode 9
  • Spotify Provider:1.1.1 / versionCode 7,当前仍仅支持原文歌词,不支持翻译
  • QiShui Music Provider:1.2.1 / versionCode 4
  • KuGou Music Provider:1.1.4 / versionCode 9
  • Poweramp Provider:1.0.11 / versionCode 8

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.0.2.apk
  • LyricProvider-QQMusic-v3.0.2.apk
  • LyricProvider-163Music-v3.0.2.apk
  • LyricProvider-AppleMusic-v3.0.2.apk
  • LyricProvider-Poweramp-v3.0.2.apk
  • LyricProvider-Spotify-v3.0.2.apk
  • LyricProvider-QiShui-v3.0.2.apk
  • LyricProvider-KuGou-v3.0.2.apk
  • LyricProvider-v3.0.2.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.0.1

Stable

7/10/2026, 2:17:52 PM

ColorOS Live Lyrics Bridge v3.0.1

v3.0.1 是基于 v3.0.0 的性能与渲染稳定性维护版本,重点降低未使用锁屏歌词时对 SystemUI 的后台开销,并继续收紧只应作用于歌词界面的保护逻辑。

SystemUI 性能优化

  • 歌词区域隐藏后立即停止逐帧刷新、可见性恢复与延迟回调;不会因已隐藏的歌词界面继续保留刷新循环。
  • Provider 广播在主线程只做轻量校验和快照,歌词解析转入有界后台执行器,降低切歌和媒体状态变化时的主线程压力。
  • 歌词局部 View Hook 在无歌词模型、非歌词视图或无活动歌词界面时更早返回,并避免普通路径的临时对象分配与重复祖先查找。
  • 移除全局日志 Hook,收紧 OPlus 白名单绕过范围;RecyclerView 通知保护仅作用于官方歌词 Adapter,不再触及普通 SystemUI 列表。

渲染与稳定性

  • 修复锁屏岛界面切换时偶发回落到官方大字歌词、短暂闪烁后才恢复模块渲染的问题;过渡期间使用有时限的歌词局部恢复机制,不保留后台刷新。
  • Apple Music 在同一播放会话切歌时,允许已确认的最新 generation 歌词绕过陈旧的 SystemUI 曲目标题完成晋升,减少歌词已到达但仍显示“暂无歌词”的情况。
  • 保持 v3.0.0 已验证的亮屏到 AOD 歌词首帧与布局时序,不引入新的 AOD 可见性、透明度或尺寸门控。

日志与安装

  • 发布版默认只保留必要警告和错误;详细歌词诊断仍需显式开启对应 debug tag。
  • Bridge 内部版本更新为 3.0.1 / versionCode 115。LyricProvider 内部版本未变化,已安装的 Provider 无需重装;Release 仍附带全部 Provider APK 与合集,便于首次安装或补装。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.0.1.apk
  • LyricProvider-QQMusic-v3.0.1.apk
  • LyricProvider-163Music-v3.0.1.apk
  • LyricProvider-AppleMusic-v3.0.1.apk
  • LyricProvider-Poweramp-v3.0.1.apk
  • LyricProvider-Spotify-v3.0.1.apk
  • LyricProvider-QiShui-v3.0.1.apk
  • LyricProvider-KuGou-v3.0.1.apk
  • LyricProvider-v3.0.1.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v3.0.0

Stable

7/10/2026, 7:05:21 AM

ColorOS Live Lyrics Bridge v3.0.0

这是一次面向锁屏歌词完整链路的大版本更新。相较 v2.7.2,本版重构了 Bridge 与各 LyricProvider 的切歌、歌词到达和播放状态交接,修复多类“暂无歌词”、旧歌词残留、逐字进度错位和 AOD 切换抖动问题,为偶发 SystemUI 崩溃增加定向保护,并进一步降低 SystemUI 绘制热路径与调试日志的开销。

重大更新

  • 统一 QQ 音乐、网易云音乐、Apple Music、Poweramp、Spotify、汽水音乐和酷狗音乐 Provider 的 Bridge 事件模型:使用曲目 generation 区分 trackChangedlyricReady,对需要外部状态的 Provider 继续区分 playbackState,丢弃异步返回的旧曲歌词,并对重复 payload 和高频播放状态广播去重。
  • 重做外部歌词切歌交接:在新曲歌词尚未到达、播放器 metadata 短暂抖动或 SystemUI RecyclerView 正在换行绑定时,保持曲目身份和渲染状态一致,减少“暂无歌词”、上一首歌词闪回、边界外首句和淡化未完成等问题。
  • 稳定亮屏到 AOD 的歌词绘制:沿用 SystemUI 官方首帧 prime 和布局时序,降低 AOD 低帧率模式下的连续刷新与复杂进度效果,修复靠近绘制区域下边界的歌词异常抖动。
  • 新增严格限定在 LyricsRecyclerView 的 RecyclerView Adapter 通知保护,仅拦截布局计算期间的对应 IllegalStateException,降低切歌和状态变化时 SystemUI 偶发崩溃风险。

播放器修复

  • ConePlayer:兼容“媒体通知(车载蓝牙)歌词”复用媒体元数据的情况,避免临时歌词行被误判为切歌后令锁屏显示“暂无歌词”,同时保留原有车载歌词功能。
  • Spotify:改善首次歌词到达等待、快速切歌、播放进度接续和无歌词曲目处理;当前仍仅支持原文歌词,暂不支持翻译。
  • QQ 音乐:修复切歌后旧歌词偶发重复、首句越界,以及快速切歌后歌词淡化或渲染状态未完整恢复的问题。
  • 网易云音乐:补齐曲目 generation、播放状态和旧异步结果过滤,降低快速切歌时的错绑风险。
  • Apple Music:修复暂停时歌词区域闪现、部分歌曲长时间“暂无歌词”、显示文本与逐字数据不一致及逐字进度错位;增加匹配 PlaybackItem 的请求重试,并兼容交叉渐入渐出期间的曲目交接。
  • Poweramp:补齐显式 trackChangedlyricReady 事件并复用一次生成的歌词 payload;播放状态保持由原生 MediaSession 单路提供;规范化方括号行内逐字时间戳,兼容 durMsIntLong 提供的不同 Poweramp 版本,并在官方索引短暂落后时让放大行回跟实际进度,避免拖动或恢复播放后歌词越界、滚动行与高亮行错位。
  • 汽水音乐:优化歌词对象、缓存和播放状态的接管顺序,修复部分有歌词歌曲仍显示“暂无歌词”,并让切歌交接更自然。
  • 酷狗音乐/概念版:过滤缺少有效曲目身份的早期播放状态,保留稳定 generation 与歌词 payload,降低启动和切歌竞态。

歌词解析

  • 修复部分增强 LRC 的非递增逐字时间戳被降级后误挂到上一句翻译的问题,避免主歌词重复显示或翻译错位。
  • 修复英文短句 You you 与中文翻译 你 你 同时间戳时被误判为拼音、使翻译行成为主歌词的问题。

性能与日志

  • 减少 SystemUI TextView.onDraw 热路径中的重复父级查找、可见区域计算、时间读取和临时对象分配;相同歌词行的最近绘制缓存改为原位刷新。
  • 普通逐行歌词在不需要逐帧进度效果时自动降低刷新频率;AOD 模式继续使用更保守的刷新节奏。
  • Official lyric row scale 仅记录目标状态变化,不再在动画的每一帧重复输出;详细诊断仍可通过对应 debug tag 显式开启。
  • QQ、网易云、Apple Music、Poweramp、Spotify、汽水和酷狗 Provider 的 Bridge 成功/跳过日志统一受 debug tag 控制,发布版默认只保留必要警告和错误;Poweramp 的内部反射探针仅在显式开启 debug tag 后安装。

Provider 版本

  • QQ Music Provider:1.1.0 / versionCode 5
  • NetEase Cloud Music Provider:1.1.0 / versionCode 10
  • Apple Music Provider:1.1.0 / versionCode 8
  • Spotify Provider:1.1.0 / versionCode 6
  • QiShui Music Provider:1.2.0 / versionCode 3
  • KuGou Music Provider:1.1.3 / versionCode 8
  • Poweramp Provider:1.0.10 / versionCode 7

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v3.0.0.apk
  • LyricProvider-QQMusic-v3.0.0.apk
  • LyricProvider-163Music-v3.0.0.apk
  • LyricProvider-AppleMusic-v3.0.0.apk
  • LyricProvider-Poweramp-v3.0.0.apk
  • LyricProvider-Spotify-v3.0.0.apk
  • LyricProvider-QiShui-v3.0.0.apk
  • LyricProvider-KuGou-v3.0.0.apk
  • LyricProvider-v3.0.0.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v2.7.2

Stable

7/8/2026, 5:46:10 PM

ColorOS Live Lyrics Bridge v2.7.2

这一版继续收紧外部 Provider 的切歌接管和歌词来源兜底,重点改善汽水音乐、酷狗音乐/概念版在实际锁屏场景里的稳定性,同时保持 Bridge 渲染链路的发布版日志更安静。

新增

  • 新增汽水音乐官方运行时歌词对象兜底:本地网络缓存和数据库还没命中时,可直接接管播放器当前歌词对象,降低第二次打开后一直“暂无歌词”的概率。
  • 新增汽水音乐数据库表发现和 NetCacheLoader 递归查找能力,兼容不同安装来源或缓存目录结构差异。
  • 新增汽水音乐中文翻译语言键兜底,优先识别 ZH-HANSZH-CN 等翻译字段。

优化

  • 优化汽水 Provider 切歌重试、缺失缓存和 Bridge 发送链路,减少歌词 pending 后长期不落地的情况。
  • 优化酷狗 Provider:原版酷狗与概念版酷狗分离处理歌词和封面,概念版不再覆盖系统封面;歌词发送增加同曲目去重和稳定元数据保留。
  • 优化 Bridge 对汽水音乐和酷狗概念版的外部歌词接管:短暂 metadata/lyricInfo 抖动时保留稳定歌词表面,降低切换时闪回官方渲染或非歌词区域残留。
  • 优化翻译按钮识别和可见性跟随,避免歌词出现后按钮视图被回收或隐藏后不恢复。
  • 降低 Bridge、汽水 Provider、酷狗 Provider 的发布版日志噪声,高频诊断默认关闭,仅保留必要异常与显式 debug tag 输出。
  • 酷狗 Provider 更新到 1.1.2 / versionCode 7
  • 汽水 Provider 保持 1.1.0 / versionCode 2,安装说明提示在 LSP 管理器中为汽水音乐开启“还原内联钩子”。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.7.2.apk
  • LyricProvider-QQMusic-v2.7.2.apk
  • LyricProvider-163Music-v2.7.2.apk
  • LyricProvider-AppleMusic-v2.7.2.apk
  • LyricProvider-Poweramp-v2.7.2.apk
  • LyricProvider-Spotify-v2.7.2.apk
  • LyricProvider-QiShui-v2.7.2.apk
  • LyricProvider-KuGou-v2.7.2.apk
  • LyricProvider-v2.7.2.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v2.7.1

Stable

7/8/2026, 5:45:36 PM

ColorOS Live Lyrics Bridge v2.7.1

这一版基于 v2.7.0 继续收紧外部 Provider 接管链路,重点解决酷狗切歌歌词稳定性、锁屏歌词区域残留、网易云逐字格式兼容,以及发布版日志噪声。

新增

  • 新增对网易云括号式逐字时间轴的兼容,[00:46.230]Girl [00:46.470]tell ... 这类歌词会转换为可渲染的真逐字时间轴。
  • 新增网易云增强逐字/普通逐字格式的回归覆盖,翻译行和主歌词逐字时间可同时保留。
  • 新增酷狗原版 Provider 的本地完整歌词缓存优先链路,原版酷狗与概念版酷狗继续分别走各自稳定策略。

优化

  • 优化 Bridge 与官方 SystemUI 歌词区域切换逻辑,降低封面/歌词切换期间非歌词区域残留、重叠和错位闪现。
  • 优化外部 Provider 切歌接管,减少酷狗原版切歌后“暂无歌词”、歌词闪回官方渲染或上一首歌词残留的概率。
  • 优化酷狗 Provider:原版酷狗避免车载歌词兜底污染封面和歌词身份,概念版保持既有稳定行为;缓存命中、候选绑定和 lyricInfo 发布更保守。
  • 优化网易云 Provider:普通模式不再发送合成逐字,开启逐字相关模式时才输出增强 rawLyric;同时改善真逐字行中个别时间戳格式被误降级的问题。
  • 优化歌词解析:标点与下一词共用时间戳时不再把整行误判为异常逐字,减少真逐字歌词回落为逐行歌词。
  • 降低日志噪声:Bridge 高频布局/逐帧诊断收敛到 verbose 级别,酷狗和网易云 Provider 的桥接调试日志仅在显式 tag 下输出。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.7.1.apk
  • LyricProvider-QQMusic-v2.7.1.apk
  • LyricProvider-163Music-v2.7.1.apk
  • LyricProvider-AppleMusic-v2.7.1.apk
  • LyricProvider-Poweramp-v2.7.1.apk
  • LyricProvider-Spotify-v2.7.1.apk
  • LyricProvider-QiShui-v2.7.1.apk
  • LyricProvider-KuGou-v2.7.1.apk
  • LyricProvider-v2.7.1.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v2.7.0

Stable

7/7/2026, 2:20:54 PM

ColorOS Live Lyrics Bridge v2.7.0

这一版在 v2.6.0 的外部 Provider 接入基础上,继续收紧锁屏歌词渲染、屏幕超时保活和酷狗/网易云 Provider 的切歌链路,重点是更稳、更安静、更可控。

新增

  • 新增歌词界面设置页,可单独控制普通逐行歌词的伪逐字高亮、翻译行逐字高亮、滚动放大、非实时行模糊。
  • 新增锁屏屏幕保活设置,可关闭智能保活,也可设置亮屏保持秒数;留空或 0 表示歌词界面显示期间不额外限制保活时长。
  • LyricProvider 外部协议新增 Provider 声明字段,Provider 可以主动声明播放器包名、播放状态、曲目 generation、当前曲目可信度和翻译按钮能力。
  • 酷狗 Provider 新增 MediaSession lyricInfo 主动发布链路,Bridge 可在 SystemUI 尚未收到外部广播时直接从当前媒体会话读取完整歌词。

优化

  • 优化屏幕超时保活语义:保活重新支持从可见官方歌词行兜底识别锁屏歌词界面,减少 SystemUI 日志格式变化或日志延迟导致的保活失效;自定义超时只控制保活窗口,wake lock 仍保持短租约续租,降低异常长持有风险。
  • 降低默认运行日志噪声:普通信息日志默认静默,酷狗 Provider 诊断日志仅在显式 debug tag 下输出。
  • 优化 SystemUI 性能开销:缓存歌词 RecyclerView 类型判断与 TextView 所属 RecyclerView 关系,减少高频绘制与布局路径上的父节点遍历和字符串匹配。
  • 优化官方歌词行缩放与模糊过渡,降低 AOD/亮屏切换、外部 Provider 接管和播放跳转时的旧行闪现与缩放抖动。
  • 优化外部 Provider 切歌逻辑,使用声明式播放器身份、generation、trackKey 和当前曲目可信度过滤迟到歌词,减少跨曲目串词。
  • 优化酷狗 Provider:歌词文件读取增加写入完成等待、本地歌词文件兜底探测、候选歌词延迟绑定和缓存命中校验,切歌时更少出现“暂无歌词”或上一首歌词残留。
  • 优化网易云 Provider:根据用户当前歌词模式决定是否发送逐字 rawLyric,避免普通歌词模式下合成逐字时间轴带来的显示节奏偏差。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.7.0.apk
  • LyricProvider-QQMusic-v2.7.0.apk
  • LyricProvider-163Music-v2.7.0.apk
  • LyricProvider-AppleMusic-v2.7.0.apk
  • LyricProvider-Poweramp-v2.7.0.apk
  • LyricProvider-Spotify-v2.7.0.apk
  • LyricProvider-QiShui-v2.7.0.apk
  • LyricProvider-KuGou-v2.7.0.apk
  • LyricProvider-v2.7.0.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v2.6.0

Stable

7/5/2026, 7:17:45 PM

ColorOS Live Lyrics Bridge v2.6.0

这一版在 v2.5.0 的歌词解析与锁屏渲染稳定性基础上,新增酷狗音乐/概念版 LyricProvider 接入,并继续收紧外部 Provider 切歌时的异步歌词绑定、AOD 恢复和 RecyclerView 过渡显示。

核心更新

  • 新增酷狗音乐与酷狗概念版 Provider 支持,Release 附带 LyricProvider-KuGou-v2.6.0.apk
  • 酷狗 Provider 支持 KRC、LYC、LRC、TXT 歌词文件解析,输出逐字歌词和翻译歌词,并通过 Bridge 外部歌词协议转发到 ColorOS 锁屏歌词。
  • Bridge 为酷狗/概念版登记播放器包名、source、播放状态、翻译开关和 AOD/历史播放器放行能力。
  • 酷狗/概念版在 SystemUI 标题短暂为空时,可以凭 Provider 的 trackGeneration 与曲目 key 提升为当前歌词,减少切歌时“暂无歌词”。

切歌与显示稳定性

  • 外部 Provider 切歌时增加 generation/key 校验,丢弃迟到歌词,避免上一首歌词串到当前曲目。
  • 外部歌词切歌软遮罩会等待当前歌词 model 准备完成后再恢复 RecyclerView,减少切歌瞬间的缩放抖动和旧行闪现。
  • 合并频繁的外部 playback reset 过渡,避免流媒体切歌时反复重启 handoff。
  • 优化官方歌词行的缩放、淡入和模糊过渡,保留滚动放大效果,同时降低 AOD/锁屏切换后的恢复抖动。

Provider 更新

  • KuGou Provider 更新到 1.1.0 / versionCode 5,新增 Bridge 转发、播放状态广播、曲目 generation 和歌词缓存校验。
  • Poweramp Provider 更新到 1.0.9 / versionCode 6,改进本地内嵌歌词与网络匹配歌词的 Bridge 发布链路。
  • Poweramp Provider 新增安全日志封装,避免 YukiHookAPI 日志不可用时影响播放器进程。

日志与源码

  • 默认降低切歌、RecyclerView 过渡、酷狗缓存命中和 Poweramp probe 明细日志噪声;需要排查时仍可通过对应 tag 的 DEBUG 日志打开。
  • 清理 LyricProvider 顶层构建脚本中的重复注释和未使用变量。
  • 更新 LyricProvider Bridge 接入文档、播放器 hook 路线、README 和 LSPosed 展示元数据。

打包流程

  • Release 继续提供各播放器单独的 LyricProvider APK。
  • 新增 LyricProvider-v2.6.0.zip,内含全部 LyricProvider APK,方便需要一次安装所有 Provider 的用户下载。
  • 主仓库 Release 与 LSPosed mirror Release 都会上传单独 APK 和整合 zip。

测试

  • 已执行 :app:testDebugUnitTest
  • 已执行主模块 release 构建。
  • 已执行 :kugou-music:assembleRelease
  • 已对本地打包的主模块与 KuGou Provider APK 执行 apksigner verify

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.6.0.apk
  • LyricProvider-QQMusic-v2.6.0.apk
  • LyricProvider-163Music-v2.6.0.apk
  • LyricProvider-AppleMusic-v2.6.0.apk
  • LyricProvider-Poweramp-v2.6.0.apk
  • LyricProvider-Spotify-v2.6.0.apk
  • LyricProvider-QiShui-v2.6.0.apk
  • LyricProvider-KuGou-v2.6.0.apk
  • LyricProvider-v2.6.0.zip

Donate

WeChat and Alipay donation QR code

Assets

9

v2.5.0

Stable

7/4/2026, 3:57:13 PM

ColorOS Live Lyrics Bridge v2.5.0

这一版重点修复复杂歌词解析和官方锁屏渲染稳定性,尤其是逐字歌词、翻译、罗马音、重复歌词和格式异常混在一起时的错位问题。
同时新增可自定义选项:默认样式、滚动放大和非实时行模糊。

核心更新

  • 新增歌词 lane 分类器,同时间多行会稳定区分主歌词、翻译、罗马音、原文变体和 credit 行。
  • 修复 He did it / 他背叛了我 这类异常逐字时间导致的夹心显示问题,避免渲染成 He did / 他背叛了我 / it
  • 修复 Bejeweled、coney island 等增强 LRC 中主歌词被翻译行覆盖,只显示翻译的问题。
  • 修复部分歌词缺失翻译、重复短句、多句同时间戳时的 lane 错位和漏解析。
  • 清理“以下歌词翻译由 xxx 提供”等翻译提供方说明,避免被当作歌词内容。
  • 对异常大间隔或非递增的逐字时间做整行降级,减少坏格式歌词触发的渲染异常。
  • 修复 All Too Well 后段重复歌词和翻译近邻导致的锁屏歌词抖动。
  • 修复 closure、willow、'tis the damn season 等开头 title/credit 行抢占首句焦点的问题,第一句歌词在正式开始前保持清晰。

锁屏显示与设置

  • 新增歌词界面设置页,可切换默认样式、滚动放大和非实时行模糊。
  • 优化官方歌词列表 alias 复用和首句 display anchor,降低官方列表缺 title/credit 或行号偏移时的错位风险。
  • 优化行高、缩放、模糊和 AOD/锁屏切换时的刷新稳定性。

Provider 更新

  • Poweramp Provider 更新到 1.0.8 / versionCode 5,修复部分 API 102 兼容框架中因包可见性或多余 scope 导致 Poweramp 启动崩溃的问题。
  • Poweramp Provider 现在只注入 com.maxmpz.audioplayer 主包,移除未使用的 com.maxmpz.audioplayer.unlock scope,并声明对 Poweramp 主包的 <queries> 可见性。

性能与日志

  • 默认关闭逐帧布局诊断和解析 trace,减少常规使用时的 logcat 噪声。
  • 保留 LockscreenLyricsLockscreenLyricsParse DEBUG log tag,用于后续精准排查。
  • 优化长歌词热路径查询,减少每帧重复扫描歌词行。

测试

  • 新增歌词解析回归矩阵,覆盖 no body, no crime、Bejeweled、coney island、provider credit 清理、异常逐字时间降级等场景。
  • 发布前执行 :app:testDebugUnitTest:app:assembleDebug

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.5.0.apk
  • LyricProvider-QQMusic-v2.5.0.apk
  • LyricProvider-163Music-v2.5.0.apk
  • LyricProvider-AppleMusic-v2.5.0.apk
  • LyricProvider-Poweramp-v2.5.0.apk
  • LyricProvider-Spotify-v2.5.0.apk
  • LyricProvider-QiShui-v2.5.0.apk

Donate

WeChat and Alipay donation QR code

Assets

7

v2.4.0

Stable

7/3/2026, 1:08:08 PM

ColorOS Live Lyrics Bridge v2.4.0

这一版重点优化锁屏歌词布局、亮屏/AOD 切换稳定性,并新增汽水音乐 Provider 适配。

核心更新

  • 优化英文歌词换行:短句能一行显示就不再强行拆行,例如 Forgive me, Peter
  • 长英文歌词仍会在实际溢出时做均衡换行,避免过长行挤出屏幕。
  • 修复亮屏切 AOD 时歌词/翻译行闪烁抖动:在 TextView.setText 和 attach 阶段提前固定歌词高度,避免 AOD 模板重绑时先按单行布局。
  • 增强 AOD/锁屏切换稳定性:增加最近绘制帧 fallback、翻译短缓存,减少系统重排或短暂数据空窗造成的视觉跳动。
  • 优化歌词面板淡入逻辑,避免已经可见时重复隐藏再淡入。
  • 改善歌曲开头首句还没到时间轴时的显示稳定性。

播放器与 AOD 适配

  • 新增汽水音乐 Provider 适配,Release 附带 LyricProvider-QiShui-v2.4.0.apk

汽水音乐使用提醒

汽水音乐需要额外安装 LyricProvider-QiShui-v2.4.0.apk,并在 LSPosed 中为 com.luna.music 启用该 Provider。

同时,请在 LSP 管理器中为汽水音乐开启“还原内联钩子”:对列表中的应用清理 libart.so。否则汽水音乐可能弹出“当前版本不安全”,Provider 也可能无法稳定获取歌词。

另外,感谢来自酷安用户@sylajiao的捐赠。

文档与发布

  • 更新演示 GIF,体积从约 43.6 MB 降到约 17.2 MB。
  • 新增捐赠二维码 PY_QR.png
  • README / 中文 README / LSPosed README 增加支持项目说明。
  • Release workflow 增加自动附加 Donate 区块的逻辑。
  • Release workflow 新增汽水音乐 Provider 构建与发布资产。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.4.0.apk
  • LyricProvider-QQMusic-v2.4.0.apk
  • LyricProvider-163Music-v2.4.0.apk
  • LyricProvider-AppleMusic-v2.4.0.apk
  • LyricProvider-Poweramp-v2.4.0.apk
  • LyricProvider-Spotify-v2.4.0.apk
  • LyricProvider-QiShui-v2.4.0.apk

测试

  • 新增 LyricLineBreakPolicy 换行策略测试,覆盖“短英文不拆行”和“长英文可均衡拆行”。
  • 发布前执行 :app:assembleDebug:qishui-music:assembleDebuggit diff --check

捐赠

WeChat and Alipay donation QR code

Assets

7

v2.3.3

Stable

6/30/2026, 11:07:57 PM

ColorOS Live Lyrics Bridge v2.3.3

这一版继续修复 v2.3.x 的锁屏歌词渲染稳定性,重点处理拖动播放进度后的实时行恢复、歌词列表定位,以及 LyricProvider 接入播放器切歌时偶发露出官方渲染的问题。

当前支持的播放器

Bridge 内置适配:

  • Salt Player
  • ConePlayer 正式版与 Google Play 版
  • 主动发布完整 MediaMetadata["lyricInfo"] 的播放器,例如 Halcyon
  • Poweramp 内部适配

Provider 适配,需要额外安装 Release 附带的独立 LyricProvider APK,并在 LSPosed 中为目标播放器启用:

  • LyricProvider-QQMusic:QQ 音乐
  • LyricProvider-163Music:网易云音乐、网易云音乐荣耀版
  • LyricProvider-AppleMusic:Apple Music
  • LyricProvider-Poweramp:Poweramp 外部 Provider 兼容包
  • LyricProvider-Spotify:Spotify

修复与改进

  • 修复拖动播放进度后,目标位置落在间奏或两句歌词中间时,锁屏歌词可能停留在旧行,直到下一句歌词开始才滚动的问题。
  • 修复将播放进度拉到开头时,第一句歌词小概率落在渲染区域外,需要唱到第二句才恢复的问题。
  • 统一 seek 后强制定位和实时播放时的活动行锚点,减少目标行落在绘制区域偏下、随后又被实时歌词拉回的问题。
  • 优化 seek 后歌词跳转过程中的滚动保护和精确落点校准,减少定位过头、回弹和上下抖动。
  • 修复 Apple Music、QQ 音乐、网易云音乐等 LyricProvider 接入播放器切歌时,外部歌词 handoff 期间可能提前淡入,导致官方渲染闪一下或整体绘制闪烁的问题。
  • 收敛 seek、handoff 和布局定位诊断日志,正式使用时减少 LockscreenLyrics logcat 噪声;需要排查时仍可通过 DEBUG 日志级别打开细节输出。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.3.3.apk
  • LyricProvider-QQMusic-v2.3.3.apk
  • LyricProvider-163Music-v2.3.3.apk
  • LyricProvider-AppleMusic-v2.3.3.apk
  • LyricProvider-Poweramp-v2.3.3.apk
  • LyricProvider-Spotify-v2.3.3.apk

验证

  • .\scripts\gradle-local.cmd :app:testDebugUnitTest :app:assembleDebug
  • .\scripts\gradle-local.cmd :app:assembleRelease
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

6

v2.3.2

Stable

6/30/2026, 6:47:09 AM

ColorOS Live Lyrics Bridge v2.3.2

这一版继续收敛 v2.3.x 的歌词解析兼容性,重点修复 LyricProvider 外部歌词在部分混合逐字歌词格式下出现的主行、翻译行和官方列表项错位问题。

当前支持的播放器

Bridge 内置适配(只安装 ColorOS-Live-Lyrics-Bridge 即可):

  • Salt Player
  • ConePlayer 正式版与 Google Play 版
  • 主动发布完整 MediaMetadata["lyricInfo"] 的播放器,例如 Halcyon
  • Poweramp 内部适配

Provider 适配(需要额外安装 Release 附带的独立 LyricProvider APK,并在 LSPosed 中为目标播放器启用):

  • LyricProvider-QQMusic:QQ 音乐
  • LyricProvider-163Music:网易云音乐、网易云音乐荣耀版
  • LyricProvider-AppleMusic:Apple Music
  • LyricProvider-Poweramp:Poweramp 外部 Provider 兼容包
  • LyricProvider-Spotify:Spotify

修复与改进

  • 修复网易云音乐等 Provider 外部歌词中,“逐字主行后紧跟无逐字主行”被误判为翻译行,导致锁屏歌词顺序错乱、重复行、翻译位显示主歌词的问题。
  • 修复外部歌词模型和 ColorOS 官方歌词列表项数量不一致时,adapter index 回退到错误主行导致的首屏/切歌渲染错位。
  • 改进官方歌词显示文本别名映射,只在文本确实匹配主行时覆盖显示文本,避免把元信息或下一句歌词挂到逐字行上。
  • 修复 We are, we are, we areIs it? Is it? 这类重复英文短句被误识别成罗马音,进而只显示翻译行的问题。
  • 为 LyricProvider 外部歌词增加 UTF-8 被 GB18030 误解码时的 Bridge 侧兜底修复;Provider 模块本身不引入本次调试期的 163 Music 编码补丁。
  • 关闭正式包中的歌词解析 trace 日志,减少正常使用时的 logcat 噪声。
  • 改进本地 Gradle 构建脚本在中文路径、Gradle 锁文件、项目目录 ACL 异常场景下的 fallback 能力。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.3.2.apk
  • LyricProvider-QQMusic-v2.3.2.apk
  • LyricProvider-163Music-v2.3.2.apk
  • LyricProvider-AppleMusic-v2.3.2.apk
  • LyricProvider-Poweramp-v2.3.2.apk
  • LyricProvider-Spotify-v2.3.2.apk

验证

  • .\scripts\gradle-local.cmd :app:testDebugUnitTest :app:assembleDebug
  • .\scripts\gradle-local.cmd :app:assembleRelease
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

6

v2.3.1

Stable

6/27/2026, 3:42:51 PM

ColorOS Live Lyrics Bridge v2.3.1

这一版是 v2.3.0 后的小修版本,重点修复歌词解析兼容性、连续快进后的逐字渲染恢复,以及 Apple Music Provider 的小版本兼容问题。

当前支持的播放器

Bridge 内置适配(只安装 ColorOS-Live-Lyrics-Bridge 即可):

  • Salt Player
  • ConePlayer 正式版与 Google Play 版
  • 主动发布完整 MediaMetadata["lyricInfo"] 的播放器,例如 Halcyon

Provider 适配(需要额外安装 Release 附带的独立 LyricProvider APK,并在 LSPosed 中为目标播放器启用):

  • LyricProvider-QQMusic:QQ 音乐
  • LyricProvider-163Music:网易云音乐、网易云音乐荣耀版
  • LyricProvider-AppleMusic:Apple Music
  • LyricProvider-Poweramp:Poweramp
  • LyricProvider-Spotify:Spotify

修复与改进

  • 修复部分歌词格式下主歌词、翻译、标音行识别错误导致的渲染混乱。
  • 修复锁屏界面连续快进后,逐字歌词概率不再渲染的问题。
  • 加强 Apple Music Provider 的版本兼容性:使用 DexKit 查找 Apple Music 内部 PlaybackItem 转换 hook 点,避免小版本混淆类名变化后失效。
  • Apple Music Provider 版本更新至 1.0.22
  • 收敛 Bridge 与 Apple Music Provider 的正式版调试日志,减少正常播放时的 logcat 噪声。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.3.1.apk
  • LyricProvider-QQMusic-v2.3.1.apk
  • LyricProvider-163Music-v2.3.1.apk
  • LyricProvider-AppleMusic-v2.3.1.apk
  • LyricProvider-Poweramp-v2.3.1.apk
  • LyricProvider-Spotify-v2.3.1.apk

验证

  • .\scripts\gradle-local.cmd testDebugUnitTest assembleDebug
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

6

v2.3.0

Stable

6/27/2026, 4:56:18 AM

ColorOS Live Lyrics Bridge v2.3.0

这一版正式加入 Apple Music Provider,并修复外部 Provider 歌词在锁屏渲染中的若干边界问题。

当前支持的播放器

Bridge 内置适配(只安装 ColorOS-Live-Lyrics-Bridge 即可):

  • Salt Player
  • ConePlayer 正式版与 Google Play 版
  • 主动发布完整 MediaMetadata["lyricInfo"] 的播放器,例如 Halcyon

Provider 适配(需要额外安装 Release 附带的独立 LyricProvider APK,并在 LSPosed 中为目标播放器启用):

  • LyricProvider-QQMusic:QQ 音乐
  • LyricProvider-163Music:网易云音乐、网易云音乐荣耀版
  • LyricProvider-AppleMusic:Apple Music
  • LyricProvider-Poweramp:Poweramp
  • LyricProvider-Spotify:Spotify(不支持翻译)

改进

  • 新增 Apple Music Provider:支持逐字歌词与翻译歌词,不输出背景人声或对唱格式歌词。
  • Apple Music Provider 通过播放器内部歌词对象取词,并向 Bridge 转发完整 lyricInfo
  • Bridge 侧翻译开关改为按播放器独立保存,避免 Salt 等播放器关闭翻译后影响 QQ 音乐、网易云音乐、Apple Music 等 Provider。
  • Bridge 可在 QQ 音乐、网易云音乐、Apple Music 等官方占用翻译按钮位置的播放器中覆盖可用媒体 action,补回翻译开关。
  • 修复 Apple Music 中文主行带 OhHohICBM 等短英文尾词时被误拆成翻译/主行错位的问题。
  • 保持 Provider APK 的独立模块形态:Bridge APK 不内置大厂播放器 Hook,用户按目标播放器选择安装对应 Provider。
  • 补充外部歌词源和短英文尾词解析单测,锁定 Apple Music、Poweramp、Spotify 的差异化策略。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.3.0.apk
  • LyricProvider-QQMusic-v2.3.0.apk
  • LyricProvider-163Music-v2.3.0.apk
  • LyricProvider-AppleMusic-v2.3.0.apk
  • LyricProvider-Poweramp-v2.3.0.apk
  • LyricProvider-Spotify-v2.3.0.apk

验证

  • .\scripts\gradle-local.cmd testDebugUnitTest assembleDebug
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

6

v2.2.0

Stable

6/27/2026, 2:07:45 AM

ColorOS Live Lyrics Bridge v2.2.0

这一版把 QQ 音乐、网易云音乐、Poweramp、Spotify 的 LyricProvider 辅助模块纳入正式发布包,并整理 Bridge 侧对外部歌词源的接入逻辑。

当前支持的播放器

Bridge 内置适配(只安装 ColorOS-Live-Lyrics-Bridge 即可):

  • Salt Player
  • ConePlayer 正式版与 Google Play 版
  • 主动发布完整 MediaMetadata["lyricInfo"] 的播放器,例如 Halcyon

Provider 适配(需要额外安装 Release 附带的独立 LyricProvider APK,并在 LSPosed 中为目标播放器启用):

  • LyricProvider-QQMusic:QQ 音乐
  • LyricProvider-163Music:网易云音乐、网易云音乐荣耀版
  • LyricProvider-Poweramp:Poweramp
  • LyricProvider-Spotify:Spotify(不支持翻译)

改进

  • 新增 Bridge 侧外部歌词源注册表,统一管理 Provider source、播放器包名、播放状态能力和 Poweramp 特殊匹配策略。
  • 扩展外部 lyricInfo 广播契约,支持 trackChangedlyricReady、播放状态、播放进度和 track generation,降低切歌后旧歌词回绑概率。
  • 支持 Spotify Provider 发送播放状态,修复广告、暂停和切歌场景下歌词抢跑或停不住的问题。
  • 支持 Poweramp Provider 在播放器内部补写 lyricInfo,优先使用 Poweramp 当前媒体会话和内部歌词结果,避免外部广播路线切歌后长时间无歌词。
  • 保留 Provider APK 的独立模块形态:Bridge APK 不内置大厂播放器 Hook,用户按目标播放器选择安装对应 Provider。
  • 补充外部歌词源能力单测,锁定 Spotify 与 Poweramp 的 source 映射和差异化策略。

Release 资产

  • ColorOS-Live-Lyrics-Bridge-v2.2.0.apk
  • LyricProvider-QQMusic-v2.2.0.apk
  • LyricProvider-163Music-v2.2.0.apk
  • LyricProvider-Poweramp-v2.2.0.apk
  • LyricProvider-Spotify-v2.2.0.apk

验证

  • .\scripts\gradle-local.cmd testDebugUnitTest assembleDebug
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

5

v2.1.0

Stable

6/25/2026, 7:23:21 PM

ColorOS Live Lyrics Bridge v2.1.0

这次主要优化锁屏歌词渲染密度、翻译切换动画和增强 LRC 双语解析稳定性。

改进

  • 将官方歌词 item 从单纯固定高度改为动态槽位高度,保留 56dp 最小高度和约 12dp 垂直留白,缓解短句间距过大和长句布局不均匀的问题。
  • 翻译开关继续保持“最多两行主歌词 + 一行翻译”的显示规则,并优化展开/收起过渡,减少歌词绘制抖动和展开末尾轻微回弹。
  • 在锁屏高亮状态与 AOD 暗屏切换期间增加官方 LyricsRecyclerView settle 窗口,降低 active line 瞬时跳动概率。
  • 优化同时间戳增强 LRC 解析,避免英文逐字主歌词被误判为日文罗马音而与中文翻译互换。
  • 补充 Taylor Swift 与 Beauty And A Beat 等用户反馈样例的解析回归测试,覆盖 <00:00.000>[00:00.000] 两种逐字时间标签形式。

清理

  • 收拢翻译切换后的 RecyclerView、TextView 与根视图刷新逻辑。
  • 移除重复的官方歌词 settle 触发,并整理歌词槽位高度计算接口。

验证

  • .\scripts\gradle-local.cmd testDebugUnitTest assembleDebug
  • powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts\validate-lsposed-metadata.ps1
  • git diff --check

Assets

2

v2.0.1

Stable

6/25/2026, 9:17:34 AM

ColorOS Live Lyrics Bridge v2.0.1

这是一次兼容性和锁屏渲染稳定性修复版本。

修复

  • 修复日文歌词中包含“鼓”等制作信息关键词时,可能被误判为参与者/制作信息,导致主歌词丢失或和翻译错位的问题。
  • 兼容同一时间戳缺少罗马音行的日文逐字歌词,优先保留日文主歌词并继续匹配中文翻译。
  • 修复锁屏界面连续快进或连续切换播放位置后,逐字歌词 RecyclerView 可能停留在隐藏 alpha,导致逐字歌词不显示的问题。
  • 增加更长尾的歌词可见性恢复检查,覆盖 SystemUI RecyclerView 晚布局或动画被打断后的隐藏态。

说明

  • Release 继续附带 LyricProvider-QQMusic APK,作为 QQ 音乐歌词提供模块。
  • ColorOS-Live-Lyrics-BridgeLyricProvider-QQMusic 使用同一套 release 签名。

验证

  • 已执行 testDebugUnitTest
  • 已执行 assembleDebug

Assets

2

v2.0.0

Stable

6/25/2026, 8:33:22 AM

ColorOS Live Lyrics Bridge v2.0.0

这是一次面向外部歌词提供模块的主要更新:

  • 适配QQ音乐
  • 歌词解析优化

新增

  • 接入 LyricProvider 外部歌词桥接协议,支持由歌词提供模块向 ColorOS Live Lyrics Bridge 投递完整歌词数据。
  • Release 附带 LyricProvider-QQMusic APK,可为词幕和 ColorOS Live Lyrics Bridge 提供 QQ 音乐歌词。
  • SystemUI 侧支持外部歌词覆盖官方 lyricInfo,在 QQ 音乐场景下优先使用逐字歌词渲染。
  • 支持外部歌词翻译数据进入锁屏歌词渲染链路。

改进

  • 优化 QQ 音乐切歌稳定性,减少首句错位、官方歌词闪现、歌词区域跳动等问题。
  • 优化外部歌词模型切换时的软遮罩和淡入,降低切歌时官方渲染短暂露出的概率。
  • 改进歌词解析中的日语罗马音、翻译行和共享英文尾词识别,减少把罗马音误判为翻译的问题。
  • 改进本地歌词解析对逐字 LRC、翻译行、长句和重复行的处理。
  • 增强 SystemUI 歌词 RecyclerView 定位和首句对齐逻辑。

说明

  • ColorOS-Live-Lyrics-Bridge 仍是 LSPosed 主模块。
  • LyricProvider-QQMusic 是本次 Release 的附加 APK,需要单独安装并在 LSPosed 中为 QQ 音乐启用。
  • 两个 APK 使用同一套 release 签名。

Assets

2

v1.9.5

Stable

6/24/2026, 11:10:07 PM

更新内容

  • 重构 Salt Player 歌词接入链路,改为在 Salt 最终发布歌词结果后读取歌曲与歌词结果,减少异步回调串歌、旧结果覆盖新歌、同一首歌偶发提示无歌词的问题。
  • 优化歌词会话匹配与回调稳定性,改善开启状态栏歌词后部分歌曲更容易出现“暂无歌词”的情况。
  • 优化普通逐字歌词、增强逐字歌词的主歌词/翻译选择逻辑,日文歌曲会自动剔除罗马音,只保留主歌词和翻译。
  • 增强对歌名、词曲、编曲、制作人等参与者信息逐字行的兼容,避免这类元信息导致歌词解析中断或混乱。
  • 撤回按 Live 岛、锁屏小控件、大封面、QS Media 等不同位置强制隐藏翻译按钮的实验性处理,避免影响 Salt 桌面歌词按钮和系统媒体控制卡稳定性。

温馨提示

温馨提示:如遇到歌词无法解析,锁屏提示歌曲暂无歌词,或者解析混乱/错位,请优先尝试使用 Lyrico 歌曲元数据编辑器匹配 QQ 音乐逐字歌词或增强逐字歌词。
如果问题依旧,请提供歌曲、歌词源文件以及触发 bug 后的 LSP 日志文件。

验证

  • 已执行 testDebugUnitTest
  • 已执行 assembleDebug

Assets

1

v1.9.4

Stable

6/23/2026, 1:05:38 AM

更新内容

  • 修复了普通逐字歌词格式的解析混乱

温馨提示

温馨提示:如遇到歌词无法解析,锁屏提示歌曲暂无歌词,或者解析混乱/错位,请优先尝试使用 Lyrico 歌曲元数据编辑器匹配QQ音乐逐字歌词或增强逐字歌词。
如果问题依旧,请提供歌曲、歌词源文件以及触发bug后的LSP日志文件

验证

  • 已执行 testDebugUnitTest

Assets

1

v1.9.3

Stable

6/22/2026, 10:15:45 PM

更新内容

  • 修复剩余文本已能整行放下时,逻辑仍强制在最后一个空格断开,导致 mouth、do 这类末词单独成行。现在会完整保留:
    She says, "That ain't my
    merlot on his mouth"

温馨提示

温馨提示:如遇到歌词无法解析,锁屏提示歌曲暂无歌词,或者解析混乱/错位,请优先尝试使用 Lyrico 歌曲元数据编辑器匹配QQ音乐逐字歌词。
如果问题依旧,请提供歌曲、歌词源文件以及触发bug后的LSP日志文件

验证

  • 已执行 testDebugUnitTest

Assets

1

v1.9.2

Stable

6/22/2026, 9:49:21 PM

更新内容

  • 修正 v1.9.1 的长歌词布局:主歌词维持统一字号,不再为了压入两行而自动缩小。
  • 长句会依据可用宽度自然换行;带翻译歌词仍保留固定槽位与逐字高亮、翻译显示逻辑。

验证

  • 已执行 testDebugUnitTest

Assets

1

v1.9.1

Stable

6/22/2026, 9:36:54 PM

更新内容

  • 修复带翻译歌词的长英文句:主歌词会优先适配为两行,避免末尾单词被挤到第三行。
  • 修复普通逐行 LRC 的伪逐字显示:长句换行窗口会依据实际渲染宽度和高亮位置切换,不会在进度中段提前跳到下一行。
  • 修复短歌词被误匹配为同前缀长歌词的问题;例如 No, no 不会再显示为 No, no body, no crime 及其翻译。

验证

  • 已执行 testDebugUnitTest

Assets

1

6/22/2026, 8:47:30 PM

更新内容

  • 重构为播放器无关的歌词事务层:歌词来源现在显式区分“已解析歌词”“确认无歌词”“解析失败”和“来源未命中”,并按来源能力声明关联到当前曲目、下一次稳定元数据或明确曲目标识,不再依赖 Salt Player 专用时序补丁。
  • 修复含纯音乐时的连锁歌词错位:无身份的被动回调不再抢绑当前曲目;完整标题/歌手、媒体 ID、媒体 URI 与请求上下文会优先精确匹配;强身份命中会清理此前遗留的弱事件,阻断“前后歌词互换”及后续持续显示无歌词的扩散。
  • 改进曲目身份识别:兼容 LRC 的 [ti]/[ar]、首行“标题 - 歌手”、合作歌手与 feat. 写法,并识别“英文标题(中文译名)”这类文件名/元数据差异,例如 Boulevard of Broken Dreams(碎梦大道)
  • 修复异常 LRC 行:一行内粘连的多个方括号时间标签会拆成正确的独立时间点,避免后续歌词文本和时间轴被合并。
  • 修复无空格日语、中文长句的锁屏显示:主歌词现在按 Unicode 字符边界换行,英文仍优先按词换行,并遵守常见 CJK 标点禁则,避免整句被压缩成过小字号。
  • ConePlayer 的已选音轨元数据来源明确标记为当前曲目来源;Salt Player 保持“下一次稳定元数据”关联语义,两个适配器共享同一套事务保护。

兼容性与升级

  • 适用于 Salt Player、ConePlayer 和通过公开 lyricInfo 协议接入的播放器;事务关联规则由来源能力决定,不再以播放器包名分叉。
  • 安装升级后通常无需重启手机:请重启目标播放器进程和系统界面,使播放器与 SystemUI 中的 Hook 重新加载。若同时修改了 LSPosed 作用域,或需要验证 system 中的 OPlus 历史播放器能力,请重启设备。

验证

  • 单元测试覆盖无歌词夹在有歌词曲目之间、重复回调、延迟回调、强身份同步屏障、译名标题匹配、粘连时间标签,以及日语/CJK 自动换行与标点边界。
  • 发布前执行 testDebugUnitTestlintDebugassembleDebugassembleRelease

Assets

1

6/22/2026, 11:43:44 AM

更新内容

  • 修复极端快速切歌时歌词跨曲错绑:当播放顺序为“有歌词 A -> 无歌词 B -> 有歌词 C”且切换很快时,不再把 C 的歌词错误绑定到 B,也不会让 C 继续沿用空歌词状态。
  • 重构 ColorOS 媒体 action 接入:保留播放器原始 PlaybackState action 顺序,仅在 OPlus Rule0 展示列表中提升翻译按钮,修复翻译按钮重复、上一首/下一首错位及媒体卡片控制按钮被带乱的问题。
  • 翻译按钮扩展到所有内置适配器及公开 lyricInfo 协议播放器;外部播放器被动态识别后会刷新 OPlus Rule0,不再因 SystemUI 初始化时序较早而永久错过按钮。
  • 修复 Salt Player 完全停止后无法从 ColorOS 控制中心恢复播放的问题:模块会处理播放媒体按键、启动 MusicService、延迟发送 com.salt.music.play_or_pause,并通过防抖避免重复广播造成二次触发。
  • 增加 OPlus 历史播放器接入:所有内置 PlayerAdapter 自动放行;外部播放器可在 Manifest 声明 io.github.andrealtb.lockscreenlyrics.OPLUS_MEDIA_HISTORY=true。不再要求手工修改 Multimedia_Daemon_List.xml
  • 修复 ConePlayer 冷启动恢复播放后没有歌词的问题:从 Media3 已选中音轨的 Format.metadata 提取 LYRICSUSLT 等时间轴歌词,并过滤“暂无歌词”“No lyrics”“纯音乐”等占位内容。
  • 补充播放器接入文档、后台恢复注意事项及 ConePlayer 服务级歌词来源说明。

兼容性说明

  • OPlus 历史播放器能力需要模块作用于系统框架(system);升级后请确认 LSPosed 作用域包含系统框架、系统界面和需要进程内适配的播放器。
  • 外部播放器的历史卡片声明只负责通过 OPlus 历史播放器判断。播放器仍需自行实现有效的 MediaSession、媒体按键接收、后台服务启动及播放队列恢复。
  • 翻译按钮不会改变播放器原始媒体 action 的语义顺序;快速切歌时即使翻译按钮暂时等待刷新,也不会占用上一首、播放/暂停或下一首槽位。

验证

  • 单元测试覆盖歌词跨曲重放保护、完整曲目标识绑定、OPlus 历史播放器策略、防抖逻辑和 ConePlayer 音轨元数据提取。
  • 发布前执行 testDebugUnitTestassembleDebuglintDebugassembleRelease

升级提示

安装 v1.8.0 后请在 LSPosed 中确认模块已勾选目标播放器、系统界面与系统框架(system),随后重启设备,确保 SystemUI 与 system_server Hook 完整加载。

Assets

1

6/21/2026, 9:43:44 AM

更新内容

  • 修复部分 Salt Player 构建未发布旧桌面歌词 action 时,ColorOS 锁屏歌词翻译按钮始终不出现的问题;模块现在会向媒体会话播放状态注入公开翻译开关 action。
  • 屏幕超时保活改为 15 秒 SCREEN_BRIGHT_WAKE_LOCK 租约,并在保活期间按 8 秒节奏续租与发送 userActivity,避免自然超时后进入降亮/AOD。
  • 保活证据改为以最近可见的官方锁屏歌词 TextView 为主,刚收到的歌词模型或官方歌词元数据只保留 3 秒过渡窗口,避免播放器异常退出或 OPlus Adapter 未清理时旧模型继续保活。
  • ACTION_USER_PRESENT 后增加 Keyguard 延迟复核:人脸识别成功但仍停留在锁屏歌词页时会恢复保活,真正离开锁屏后立即释放。
  • Release workflow 新增 LSPosed/Xposed 模块仓库同步步骤,发版 APK 会同步发布到 Xposed-Modules-Repo/io.github.andrealtb.lockscreenlyrics

验证

  • 本地已验证 testDebugUnitTestassembleDebuglintDebug
  • 继续保留既有歌词布局、逐字绘制、切歌淡入、翻译识别与翻译按钮恢复逻辑。

升级提示

安装后请在 LSPosed 中确认模块已勾选目标播放器与系统界面,然后重启播放器进程和系统界面;如果刚从旧版升级,建议直接重启设备以确保新版 SystemUI Hook 与屏幕超时策略完整生效。

Assets

1

6/21/2026, 9:36:21 AM

更新内容

  • 新增播放器无关的歌词会话规约器,将异步歌词回调与稳定曲目信息绑定,避免切歌期间把新歌词写入上一首歌曲;同时兼容 Salt Player 的状态栏/车载歌词转发元数据。
  • SystemUI 私有媒体与歌词入口改用 DexKit 动态识别,并保留旧类名回退路径,降低 ColorOS/OPlus 更新或代码混淆带来的失效风险。
  • 在歌词进入 OPlus 官方列表前统一规范化:同一时间戳只保留主歌词 item,翻译与逐字信息继续保留在完整模型中;过滤制作信息、标题歌手行和零宽占位行。
  • 修复部分双语 LRC 被解析为“中文主句、英文翻译”的问题,并增加 Opalite 零宽占位行回归测试。
  • 改进重复歌词、首行预滚动和官方列表位置映射,使用时间戳、规范化文本与出现顺序共同定位当前句。
  • 锁屏歌词采用稳定的 80dp 物理槽位和 6dp 间距;短句视觉密度收紧,长句继续使用两行滑动窗口,当前进度行下移约 48dp
  • 移除按内容动态改变 item 几何的方案,避免每句播放完成时出现挤压、下跳或 RecyclerView 重新测量。
  • 改进 Seedling 播放位置同步、歌词界面可见性恢复、切歌淡入恢复和屏幕超时保活状态更新。
  • 新增适用于中文路径的本地 Gradle 构建脚本,并补充歌词会话、布局策略、LRC 规范化、曲目身份与双语解析测试。

已验证场景

  • Salt Player 不同歌曲连续切换、暂停恢复与进度跳转。
  • 连续短句、长句、翻译行、重复副歌和双语同时间戳歌词。
  • Opalite 中零宽占位行紧邻同时间戳中英歌词的解析场景。
  • 翻译按钮、锁屏超时保活与切歌歌词渐变在播放器重启后的正常恢复。

升级提示

安装后请在 LSPosed 中确认模块已勾选目标播放器与系统界面,然后重启播放器进程和系统界面;建议直接重启设备以确保新版 SystemUI Hook 与 DexKit 缓存完整生效。

Assets

1

6/21/2026, 9:36:16 AM

更新内容

  • 新增 ConePlayer 适配,支持正式版与 Google Play 版,并已跨版本验证 1.1.3、1.1.4 和 1.1.5。
  • ConePlayer 歌词解析入口改由 DexKit 动态识别,不依赖混淆类名;兼容单参数与双参数解析方法。
  • 为未主动提供翻译动作的播放器补充翻译开关,同时保留收藏等已有自定义动作。
  • Salt Player 适配器迁移到 DexKit,通过歌词来源枚举、滚动状态枚举和结果类结构动态定位,已验证 12.0.0 正式版与 alpha07。
  • 调整 lyricInfo 数据优先级:播放器主动增强接入优先,其次使用模块捕获的完整歌词,播放器官方简单 lyricInfo 仅作为兜底。

作用域变化

  • 新增 ink.trantor.coneplayer
  • 新增 ink.trantor.coneplayer.gp
  • 保持 com.salt.musiccom.android.systemui 支持。

升级提示

安装后请在 LSPosed 中确认模块已勾选对应播放器与系统界面,然后重启相关播放器进程和系统界面;若首次安装,建议直接重启设备。

Assets

1

6/21/2026, 9:36:11 AM

更新内容

  • 修复歌词正文存在重复句时,当前句可能无法进入逐字渲染的问题;现在会优先匹配实际播放位置对应的重复句。
  • 修复接入公开翻译开关协议的播放器中,ColorOS Rule0 误把“上一首”显示为翻译按钮的问题。
  • 将翻译动作提升到 Rule0 自定义动作首位,同时保留上一首、播放/暂停和下一首的原有位置与行为。
  • 增加重复歌词匹配和翻译动作排序的回归测试。

播放器接入

  • 继续使用公开动作 io.github.andrealtb.lockscreenlyrics.action.TOGGLE_TRANSLATION,协议本身没有变化。
  • 已接入该动作的播放器无需修改即可获得本次按钮排序修复。

升级提示

安装后请在 LSPosed 中确认模块作用域,并重启系统界面或设备,使新版 SystemUI Hook 生效。

Assets

1

6/21/2026, 9:36:06 AM

更新内容

  • 在保持歌词槽高固定的前提下,将官方歌词行间距收紧至 6dp,避免动态高度引起滚动抖动。
  • 无翻译歌词使用更大的 24sp 字号和均衡换行,按内容显示 2–3 行并保持垂直居中。
  • 过长翻译会随当前歌词进度横向滚动,减少文字超出屏幕边界的问题。
  • 翻译按钮仅在当前歌曲含可用翻译时显示。
  • 优化关闭翻译时从“2 行歌词 + 1 行翻译”过渡到“3 行歌词”的补行动画。

播放器接入

  • 新增公开动作 io.github.andrealtb.lockscreenlyrics.action.TOGGLE_TRANSLATION,主动接入 lyricInfo 的播放器可提供锁屏翻译开关。
  • 自动为外部歌词提供方配置 OPlus Rule0 自定义动作槽位。
  • 播放器包内存在 ic_translation 时优先使用;否则自动采用模块内置的透明背景、单色 Salt 风格翻译图标。
  • 中英文播放器接入文档已补充动作顺序、图标及生命周期要求。

升级提示

安装后请在 LSPosed 中确认模块作用域,并重启系统界面或设备。

Assets

1

v1.5.0

Stable

6/21/2026, 9:36:01 AM

更新内容

  • 引入 Lyrics Core 解析适配层,增强多种时间轴歌词、逐字时序和同时间戳双语歌词兼容性。
  • 新增按曲目缓存与标准化身份匹配,兼容 [Explicit] / [Clean] 后缀及歌词早于媒体元数据到达的情况。
  • 完善锁屏逐字渲染:当前词辉光、焦点过渡、双语排版、长句窗口和可持久保存的翻译开关。
  • 优化切歌衔接,避免闪回官方歌词,并修复行重绑与淡入重复触发造成的 RenderNode 录制异常。
  • 加强首次沉浸界面进入、延迟歌词行绑定、屏幕保活和 OPlus 媒体策略兼容性。
  • 清理未启用的实验钩子与 fallback,减少 SystemUI 全局热路径开销。
  • 更新播放器接入文档:首次元数据应原子携带完整 lyricInfo,避免紧邻 extras 补丁被 OPlus 防抖丢弃。

验证

  • 真机回归测试通过
  • JUnit:7/7
  • Android Lint:通过
  • GitHub Debug 与签名 Release 构建:通过

构建版本:versionName 1.5.0 / versionCode 57

Assets

1

v1.3.0

Stable

6/21/2026, 9:35:46 AM

更新内容

  • 新增播放器主动接入协议:播放器可直接通过 MediaSession lyricInfo 发布歌词,模块会在 SystemUI 侧动态识别,无需加入包名适配器或 LSPosed 播放器作用域。
  • 支持 lyric 基础逐行歌词接入;可选 rawLyric 用于启用模块的逐字高亮渲染。
  • 保留 Salt Player 兼容适配器,其他新播放器推荐优先走 lyricInfo 接入协议。
  • 修复 Salt Player 12.0.0 新版本 hook 失效问题,兼容新版混淆类变化。
  • 优化 Salt 歌词抓取逻辑,自动识别构造器参数中的时间轴歌词,降低版本变动导致失效的概率。
  • 更新中英文接入文档,补充播放器接入方式和推荐发布时机。
  • 去除SystemUI侧包名白名单。[测试]

Assets

1