Skip to content

feat(AndroidLyric): 新增本地 TTML 歌词目录扫描#2

Merged
Re-BeiChen merged 4 commits into
SPlayer-Dev:devfrom
kid141252010:feature/scan-ttml-netease-id
Apr 25, 2026
Merged

feat(AndroidLyric): 新增本地 TTML 歌词目录扫描#2
Re-BeiChen merged 4 commits into
SPlayer-Dev:devfrom
kid141252010:feature/scan-ttml-netease-id

Conversation

@kid141252010
Copy link
Copy Markdown

@kid141252010 kid141252010 commented Apr 25, 2026

📌 变更类型

  • ✨ feat — 新功能
  • 🐞 fix — Bug 修复
  • 🎨 style — 仅样式 / 格式,不影响逻辑
  • ♻️ refactor — 重构,不改变外部行为
  • ⚡ perf — 性能优化
  • 📝 docs — 仅文档
  • 🧪 test — 新增 / 修改测试
  • 🔧 chore — 构建 / 脚本 / 依赖
  • 🚀 ci — 仅 CI 配置
  • ⏪ revert — 回滚

📝 变更说明

新增 Android 本地 TTML 歌词目录授权与扫描能力。用户可在「设置 - 歌词设置」中添加歌词目录,应用会扫描目录内 TTML 文件,并通过文件元数据中的网易云 ID 建立歌曲歌词索引。

播放歌曲时会优先读取已索引的本地 TTML 歌词,用于覆盖在线歌词。设置页支持重新扫描、删除授权目录、查看扫描统计。

🔗 关联 Issue

Closes #

📱 影响范围

  • 🎵 播放引擎 / 音频
  • 📝 歌词 / 桌面歌词
  • 🔔 通知栏 / MediaSession
  • 🌐 在线音乐 (网易云 / Jellyfin / Navidrome / Emby / Subsonic / Last.fm)
  • 🧩 内置 API (nodejs-mobile)
  • 🎨 UI / 主题 / 布局
  • 📦 构建 / 打包 / 签名
  • 📱 Capacitor / 原生 Android 代码
  • 📄 文档 / README

✅ 自检清单

  • 本 PR 目标分支为 master
  • 本地已执行 pnpm lint 且无 warning
  • 本地已执行 pnpm typecheck 且无报错
  • 已在 至少一台真机 上构建并验证关键路径
  • UI 改动已兼顾 手机竖屏 + 平板横屏 两种布局
  • 新增 / 修改的文案使用中文,与项目整体风格一致
  • 未引入不必要的依赖 / 大体积资源
  • 未修改签名密钥 / CI Secrets 相关文件

📸 截图 / 录屏 (UI 类 PR 必填)

改动前 改动后
没有这设置 image

🧪 测试方式

  1. 安装 release APK,进入「设置 - 歌词设置 - 本地歌词覆盖在线歌词」
  2. 添加包含 TTML 文件的本地目录,确认目录名称正常显示且不显示上级路径或 URI
  3. 点击重新扫描,确认扫描统计正常更新
  4. 播放与 TTML 元数据中网易云 ID 匹配的歌曲,确认本地 TTML 歌词优先显示
  5. 删除已授权目录,确认索引会随目录变更重新扫描

💬 其他说明 (选填)

TTML 文件需要在元数据中包含网易云 ID 才能匹配歌曲。当前仅支持 Android 端通过系统目录授权读取本地 TTML。

@Re-BeiChen Re-BeiChen merged commit 4481b69 into SPlayer-Dev:dev Apr 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants