V1.5.4: 新增可用源 gz.ac16.vip;修复"点歌失败不入下载列表";下载列表删除按状态区分
一、新增歌曲源 gz.ac16.vip(置于源列表首位) 实测(DoH 取真实 IP 154.222.26.244,绕开本机网关 fake-IP 干扰): - i.php: HTTP 200,下发 token,end_date=2027-10-05(比现用镜像源的 2026-10-05 更晚); - music/do.php: 对 7303235/7200188/8614960 分别返回各自不同的真源地址 (http://txog.ktvsky.com/.../<编号>.ts?token=... / http://download.origjoy.com/.../<编号>.ts?sign=...), 文件名均等于点歌编号; - 这些地址能真实下载:HTTP 206 video/MP2T,逐曲内容各不相同, TS 流同步字节按 188 字节对齐(41/43 包同步); - 对照:其余 7 个入口对每首歌(含不存在的编号)统一返回同一段 https://wb66.cn/f/d/7b7c9/10188555.ts(广告/测试资源),主源 w.w345.my/i.php 直接 403。 因此把 gz.ac16.vip 加入源列表:ktv_api.js 的 CONFIG.HOSTS 与 SongUrlResolver.DEFAULT_HOSTS 各一处(均置于首位)。 ⚠️ 边界:该域名**自己**的 /<编号>.ts 永远是同一段广告,所以它继续留在 AdVideoFilter.AD_HOSTS(媒体层拦截);广告黑名单只作用于"返回地址的 host", 不作用于"取址入口的 host",两者不可混淆,否则会误杀唯一可用源。 KTV_BRIDGE_API 9 → 10(ktv_api.js 两处标记 + KtvJsBridge 两处校验),保证设备热更新到新脚本。 二、修复"点歌失败时歌曲不出现在下载列表" 根因:DownloadTask 只在 onDownloadStart 里创建,所以"取址失败(无法生成下载地址)"这类 还没真正开始下载的失败**不会留下任何记录**,下载列表里什么都没有。 修复:downloadSong() 在**发起下载之前**就登记任务(状态「排队中」), 失败时由既有回调就地改成「失败:原因」,条目保留在列表里,可看原因、可重试、可清理。 三、下载列表删除功能(按状态区分语义) - 有本地文件 → 「删除文件」(confirmDeleteLocalFile,同时清掉下载记录); - 失败/进行中(无文件)→ 「移出下载列表」(confirmRemoveDownloadEntry): 只删记录 + stateDatabase.removeDownload,**绝不动任何歌曲文件** (历史上"顺手清缓存"删光公放曲库的教训见 AGENTS); - 「更多」菜单在下载列表内额外提供「移出列表」; - SongListAdapter 的「更多」图标由装饰改为**可点/可聚焦**(遥控器可达,不再只能长按)。 版本 1.5.3(35) → 1.5.4(36);签名证书不变。测试 9 例全通过。
This commit is contained in:
+2
-2
@@ -11,8 +11,8 @@ android {
|
||||
applicationId "com.local.ktv"
|
||||
minSdk 21
|
||||
targetSdk 25
|
||||
versionCode 35
|
||||
versionName "1.5.3"
|
||||
versionCode 36
|
||||
versionName "1.5.4"
|
||||
ndk {
|
||||
// 双 ABI 打包:兼容 64 位(Exynos 1580 等 arm64-v8a)与 32 位设备(极米 Play 超越版
|
||||
// 的 Amlogic 950X2/S905X2 采用 32 位 Android 用户态,必须包含 armeabi-v7a,否则
|
||||
|
||||
Reference in New Issue
Block a user