9f53d1c6040d3220baf063b46be38ff0c609b4ee
实测时间线(20:08:53 那次切歌): 53.881 next -> play 53.947 open 完成 65ms 59.525 player error: tcp ffurl_read / Failed to open (mpv 5.6s 后放弃) 09:13.801 起播看门狗才触发重连 (又等 14s) 原因:看门狗 5s 一跳、阈值 10s,最坏要两个 tick 才触发。 - error 流里识别 Failed to open / ffurl_read,1.5s 后立即重试一次 (每首歌最多一次,force 模式跳过节流) - 进度看门狗 tick 10s -> 5s,任何卡死最多多等 5s 预期:失败发生在 5~6s,重试在 7~8s 开始,前摇 ~10s 降到 7~8s; 若首次打开成功则完全无感。
清听 QingTing
让远程音乐,像本地音乐一样可靠。
清听是一个面向 Android 的 WebDAV 音乐播放器。
它解决的事情很简单:
让存储在 WebDAV 服务器上的音频文件,获得稳定、连续、可控的本地级播放体验。
✨ 能力
- WebDAV 流式播放,无需下载
- 后台播放,退出应用不停
- 通知中心、锁屏、耳机控制
- 元数据读取与 SQLite 缓存
- 通知栏封面图
🚀 快速开始
# 克隆
git clone https://your-repo/qingting.git
cd qingting
# 获取依赖
flutter pub get
# 运行
flutter run
详细步骤:Getting Started →
📖 文档
- 整体架构 —— 系统怎么组织的
- 播放链路 —— 一首歌从点击到喇叭
- 元数据 —— 歌曲信息怎么被认识
- Android 集成 —— 怎么成为 Android 播放器
- 存储策略 —— 远程与本地如何共存
- 设计决策 —— 为什么选了这些方案
最好的播放器,是当你开始听歌之后,就再也感觉不到它技术细节的那一个。
Languages
Dart
96.7%
PowerShell
2.1%
Kotlin
1.2%