lxh2875931338 18308d9d4e feat(metadata): 元数据分阶段探测(128KB → 512KB)+ song_key 改为纯 URL
渐进探测:
- FileProvider.getFile 增加 maxBytes 参数,WebDAV 按需只取头部
- MetadataService 先取 128KB 读标签;title/artist 都为空时再补到 512KB
- 缓存文件按上限区分(metadata_<hash>_128k.part / _512k.part)

song_key:
- 从 md5(url|size) 改为 md5(url)。分阶段探测的大小不同,
  带 size 会让同一首歌产生两个键;URL 在各阶段稳定。
- 代价:同 URL 换内容不自动失效,由清除单曲缓存/forceRefresh 兜底
- 数据库升到 v6,清空 songs / metadata_cache(可再生)

验证(release,真机):
  📦 取头部 128KB(上限 128KB,不再整文件下载)
  🧭 状态机: first_seen → pending(validations=1)
  📊 pending conf=0.92 evidence={...}
  ✅ saved: 两生关 - 谢安琪

测试:新增 song_key 3 个用例,累计 19 个全绿。
2026-10-24 20:28:50 +08:00
2026-08-14 23:30:00 +08:00

清听 QingTing

Flutter Platform

让远程音乐,像本地音乐一样可靠。

清听是一个面向 Android 的 WebDAV 音乐播放器。

它解决的事情很简单:

让存储在 WebDAV 服务器上的音频文件,获得稳定、连续、可控的本地级播放体验。

✨ 能力

  • WebDAV 流式播放,无需下载
  • 后台播放,退出应用不停
  • 通知中心、锁屏、耳机控制
  • 元数据读取与 SQLite 缓存
  • 通知栏封面图

🚀 快速开始

# 克隆
git clone https://your-repo/qingting.git
cd qingting

# 获取依赖
flutter pub get

# 运行
flutter run

详细步骤:Getting Started →

📖 文档


最好的播放器,是当你开始听歌之后,就再也感觉不到它技术细节的那一个。

S
Description
一个简单的试水型音乐播放器
Readme
36 MiB
Languages
Dart 96.7%
PowerShell 2.1%
Kotlin 1.2%