lxh2875931338 46a9add5cb build+fix: debug 包独立为 .dev,并修复元数据缓存永远查不到
包名:
- debug 使用 com.lxh.qingting_player.dev(应用名"清听 Dev"),可与 release 并存
- release 保持 com.lxh.qingting_player
- Android 包名每一段必须以字母开头,因此用 .dev 而非 _dev
- AGP 9 需显式开启 buildFeatures.resValues;移除 manifest 中已废弃的 package 属性

元数据(两个独立原因叠加):
1. song_key 之前用 String.hashCode / 本地临时文件 mtime,都不稳定;
2. songs.remote_path 存的是完整 URL,而所有查询都用相对路径(song.id),
   getSongByPath 永远 miss,UI 只能回退到文件名。

- 新增 utils/song_key.dart:songKeyFor(url,size)=md5(url|size),跨进程稳定
- metadata_service: remote_path 改存 fileId(相对路径),并改用稳定 song_key
- audio_service / file_provider: 同步使用稳定键
- 数据库升级 v5:清空 songs / metadata_cache(可再生缓存;歌单与收藏按路径存储,不受影响)
- device-check.ps1: 支持 -Package,默认校验 dev 包,启动组件改为向 PackageManager 解析

验证:两次独立 dart 进程 song_key 输出一致;真机 debug/release 并存安装,单实例自检通过。
2026-10-22 23:47:32 +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%