Skip to content

Releases: Xposed-Modules-Repo/io.github.andrealtb.lockscreenlyrics

v2.4.0

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 03 Jul 13:08

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

v2.3.3

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 30 Jun 23:07

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

v2.3.2

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 30 Jun 06:47

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

v2.3.1

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 27 Jun 15:42

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

v2.3.0

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 27 Jun 04:56

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

v2.2.0

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 27 Jun 02:07

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

v2.1.0

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 25 Jun 19:23

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

v2.0.1

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 25 Jun 09:17

ColorOS Live Lyrics Bridge v2.0.1

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

修复

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

说明

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

验证

  • 已执行 testDebugUnitTest
  • 已执行 assembleDebug

v2.0.0

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 25 Jun 08:33

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 签名。

v1.9.5

Choose a tag to compare

@Andrea-lyz Andrea-lyz released this 24 Jun 23:10

更新内容

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

温馨提示

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

验证

  • 已执行 testDebugUnitTest
  • 已执行 assembleDebug