-
麦动KTV V1.6.4 Stable
released this
2026-10-18 11:41:38 +08:00 | 0 commits to master since this release麦动KTV V1.6.4
- 新增自建歌曲源:官方源优先、自建源兜底
- 新增设备身份与 whoami 心跳上报
- 点歌响应更快:失败不再空等 3 秒,token 缓存与后台预热
- 远程日志精简:只上报启动检测与报错,其余只保留在本地
- 修复带 query 的播放地址可能被误判(广告漏放 / 真源被误杀)
- 修复取址失败时重复消耗源站试用额度
Downloads
-
麦动KTV V1.5.5 Stable
released this
2026-10-07 17:30:45 +08:00 | 14 commits to master since this release麦动KTV V1.5.5
- 新增歌曲源 a.ktv8.my(多一个取址入口,提升点歌成功率)
- 所有歌曲源都取不到地址时,明确提示「远程源已全部失效,等待新版本修复」
- 版本号 1.5.5 / versionCode 37,签名与历史版本一致,可直接覆盖安装
- 双 ABI:armeabi-v7a + arm64-v8a
Downloads
-
麦动KTV V1.5.4 Stable
released this
2026-10-04 00:04:32 +08:00 | 16 commits to master since this release麦动KTV V1.5.4
本次从 V1.5.1 直接升级到 V1.5.4,中间 1.5.2 / 1.5.3 / 1.5.4 的修复全部包含,无需逐版升级。
⭐ 本版最重要:点歌恢复可用(新增可用歌曲源)
问题:原有 7 个取址入口全部失效 —— 主入口
w.w345.my直接返回 HTTP 403,
其余入口对每一首歌(包括不存在的编号)都返回同一段广告/测试资源,
于是 App 取不到真地址,表现就是"歌曲源全部失效、点不了歌"。处理:实测发现另一个同一后台、同一协议的取址入口
gz.ac16.vip仍稳定下发真源地址:i.php正常下发 token,授权到期2027-10-05(比其它入口更晚);music/do.php对每首歌返回各自不同的真实 CDN 地址
(txog.ktvsky.com/download.origjoy.com,文件名恒等于点歌编号);- 实测可下载(HTTP 206 /
video/MP2T),逐曲内容各不相同,TS 流结构合法; - 注意它的"取址入口"身份与其"广告媒体域名"身份是两件事:它自己域名下的
/<编号>.ts永远是同一段广告,因此广告拦截规则保持不变(只作用于返回的媒体地址),
两者不冲突。已把它置于源列表首位。
下载列表两处修复
- 点歌失败也会出现在下载列表里:原先只有"真正开始下载"才建任务,
因此"无法生成下载地址"这类失败不留任何记录,下载列表空空如也、看不到原因也无法重试。
现在发起下载前先登记任务(排队中),失败就地显示为「失败:原因」,可看原因、可重试、可清理。 - 下载列表新增删除:删除按钮按状态区分语义 ——
有本地文件 → 「删除文件」(同时清掉记录);失败/进行中(无文件)→ 「移出下载列表」
(只删记录,绝不动任何歌曲文件)。「更多」菜单在下载列表内也提供「移出列表」,
且「更多」图标已改为可用遥控器直接选中(不再只能长按)。
诊断能力强化(1.5.2 / 1.5.3)
- 源站受限可被识别:新形态(200 + 对每首歌返回同一广告)与 403 两种受限都会被识别,
并弹出提示引导「重启光猫/路由器更换公网 IP」;受限期间自动冷却 3 分钟,避免继续冲击源站。 - 远程日志不再静默失效:日志发送线程可自动重启、异常兜底,并新增本地日志文件
<存储根>/logs/ktv.log(自动滚动),远程日志不可用时可直接把文件发出来取证;
日志启动点提前到应用创建时,早期崩溃也有记录。 - 403 判定扩展到
i.php(主入口 i.php 就是 403)。
说明
versionName 1.5.4/versionCode 36,签名与历史版本一致,可直接覆盖安装。- 双 ABI:
armeabi-v7a+arm64-v8a。 - 首次安装需下载曲库约 430MB(解压后约 1GB),请预留约 1.5GB 可用空间。
Downloads
-
麦动KTV V1.5.1 Stable
released this
2026-09-26 22:34:06 +08:00 | 19 commits to master since this release麦动KTV V1.5.1
本次从 1.4.7 直接升级到 1.5.1,中间 1.4.8 ~ 1.5.1 的修复全部包含。
⚠️ 本版本号已于发布后撤回并重新发布(修复"切歌→公放在老设备卡死"),
请以本次附件为准(内部versionCode 33)。本版修复:点歌列表「切歌」到公放列表时,老设备(极米 H1S)卡死
新设备正常、老设备卡死,排查出三个叠加原因,都属于"新设备看不出来、老设备致命":
-
切歌任务排在长任务后面:切歌用的是 4 线程的公共线程池,而"点歌即下即播"这类几十秒的
长任务也在同一个池里。老设备网速慢,并发点几首歌就把池占满,切歌任务一直排队 ——
表现就是按了切歌不动、旧歌播完后没声。
→ 切歌/随机续播改用专用线程,与下载彻底隔离。 -
切歌时现扫目录找候选:候选列表的构建代价是"每个文件在头尾各读约 4.3MB 做格式校验",
并且会遍历外置存储各挂载点(老 ROM 上的失效挂载点可能让目录列举永久阻塞)。
→ 改为启动时后台预热候选缓存(带超时保护),下载完成即时补充,切歌直接读缓存(零 I/O)。 -
主线程上做深度文件校验:判断"本地是否有可播文件"的接口会真实读取文件头尾各 4.3MB,
却被用在播放、播放错误回调、以及列表逐行渲染里 —— 老设备的慢存储上每次都是数秒卡顿
(直接 ANR)。
→ 播放/渲染路径改为只看文件存在与大小的廉价检查,深度校验只保留在后台。
同版本内已包含的历史修复
- 点歌最后一首按「切歌」后卡死:原逻辑清空了播放状态却没停播放器,导致那首歌播完后回调被
丢弃、再也无法推进。现改为在点歌清单最后一首上按切歌 → 直接转入公放;其它情形保持原逻辑;
公放清单与点歌清单互不影响。并且所有"清空播放状态"的出口都补齐了显式停播。 - 公放时按「切歌」没反应:上一版启动清理把整个歌曲缓存目录删了(该目录同时就是公放曲库)。
现改为只清理"多首不同歌曲内容完全相同"的注入广告副本,正常歌曲绝不动。 - 广告视频被当成歌曲播放(
gz.ac16.vip):建立统一的可信地址闸门,任何来源的播放地址都要
通过校验(非 http(s) / 广告域名或路径 /.ts文件名与点歌编号不符 一律拒绝),并附回归测试。 - 启动被误判成"断网恢复":启动瞬间不再执行重建会话等恢复动作,状态栏也不会错显"网络已恢复"。
- 点歌取址白等 15 秒:桥一旦判定不可用即记住,后续点歌取址降到 0.3~0.7 秒。
- 老设备(极米 H1S / GMUI2.0 / Android 5.1.1)累计修复:该机型此前所有版本都打不开 ——
启动闪退(存储根目录写死)→ 无法下载曲库(老系统不认 Let's Encrypt 新证书链)→
下载卡死/极慢(高频进度回调压死主线程)→ 点歌"无法生成下载地址"(该机 WebView 为 Chrome 39,
脚本无法解析)。现已可正常点歌播放。
说明
versionName 1.5.1/versionCode 33,签名与历史版本一致,可直接覆盖安装。- 双 ABI:
armeabi-v7a+arm64-v8a。 - 首次安装需下载曲库约 430MB(解压后约 1GB),请预留约 1.5GB 可用空间。
Downloads
-
-
麦动KTV V1.4.7 Stable
released this
2026-09-26 17:35:48 +08:00 | 25 commits to master since this release麦动KTV V1.4.7
本版集中修复 极米 H1S(GMUI2.0 / Android 5.1.1 / API 22) 上逐层暴露的兼容性问题。
该设备此前所有版本都无法打开,本版从闪退一路修到能正常点歌播放。修复(按发现顺序,层层叠加)
-
一打开就闪退 —— 存储根目录写死为
/storage/emulated/0/MaidongKTV,在这台机器上不可写
(其外部存储根实际是/mnt/sdcard)→ 建目录抛异常直接中断启动。
改为启动时按「外部存储 → 历史路径 → 应用私有外部目录 → 内部目录」真实探测可写性后选定根目录,
且所有路径一律走运行时 getter(不再编译期内联)。 -
无法下载曲库 —— 曲库服务使用 Let's Encrypt 新证书链
(leaf ← YR2 ← Root YR ← ISRG Root X1),而network_security_config.xml
只在 Android 7.0(API 24)+ 生效,5.1.1 上被忽略、系统信任库也没有 ISRG 新根 → 握手失败。
新增TlsCompat:API<24 时把「系统信任 ∪ 内置根证书」的复合信任库装到HttpsURLConnection;
裸 Socket 通道单独提供同源工厂;WebView 的 SSL 错误不盲目放行,而是用增强信任库对同一主机独立复核。 -
下载时卡死 / 极慢 —— 430MB 曲库按 256KB 分块会回调约 1700 次进度,每次都
main.post
做「改文本 + 改进度 +bringToFront()(整棵视图树重排)」,把主线程队列压满。
进度改为按最终文案去重(刷新次数降到 ≤100),刷新只做真正变化的事,
并在解压/校验阶段补上明细进度。 -
失败原因误报 —— 「曲库分区空间不足(当前可用 6.04GB)」是误判:
ENOSPC也可能来自
inode 耗尽/配额/ROM 限制。改为上报完整异常链 + 真实写入探针 + 挂载点信息,
并清理失败时残留的约 1.4GB 临时文件。 -
点歌「无法生成下载地址」 —— 两层原因:
- 点歌取址的裸 Socket 通道连接阶段没有超时(
Socket(host, port)不受soTimeout约束),
多源叠加会耗光 JS 侧 180 秒预算;HTTPS 分支还用了SSLSocketFactory.getDefault(),
绕过了证书补丁。已改为显式连接超时 + 使用增强信任工厂。 - 更根本:该设备 WebView 不可用(导不出
window.KtvApi),桥永远不就绪,
取址只能回退数据库 → 必然失败。新增SongUrlResolver:用原生代码复刻同一套取址协议
(i.php取 token →music/do.php取地址,多源自动排序 + 广告/错号校验),
走与 JS 完全相同的干净请求通道且不依赖 WebView,作为兜底接入。
- 点歌取址的裸 Socket 通道连接阶段没有超时(
可观测性
- JS 侧日志(
console.log)已桥接进远程日志(JS ...),此前只进 WebView 控制台、现场无法取证。 - 新增
JS-BRIDGE ...(WebView 就绪/失败)、NATIVE-SONG ...(原生取址过程与结果)、
MUSE-DB/DB-SYNC ...(曲库同步各步骤)、RAW-ERR/NET-ERR(请求失败)等上报。 - AGENTS.md 补齐对应约束(API 守卫、存储根运行时解析、老系统 TLS 根证书、高频回调刷 UI、
裸 Socket 三坑、取址双实现同步)。
说明
versionName 1.4.7/versionCode 27,签名与历史版本一致,可直接覆盖安装。- 双 ABI:
armeabi-v7a+arm64-v8a。 - 首次安装需下载曲库约 430MB(解压后约 1GB),请预留约 1.5GB 可用空间。
Downloads
-
-
麦动KTV V1.4.0 Stable
released this
2026-09-26 12:49:13 +08:00 | 35 commits to master since this release麦动 KTV V1.4.0
本版为 v1.3.3 之后累积的全部改动(v1.3.4 ~ v1.4.0)。
断网重连修复(重点)
- 修复「断网重连后再也下载不了、日志却显示歌曲源获取成功」:
clearTokenCache()原为空实现,
JS 侧会话被一直复用,而歌曲源按出口 IP 识别、重连后旧 token 已失效,取址看着成功实际下载 403。
现在会真正重置 API 会话,下次取址重新登录。 - 新增
KtvNetworkMonitor(走系统回调、不轮询)维护全局在线状态;
断网时播放页右上角提示「网络未连接」,恢复后自动重解析网卡 MAC、
重建歌曲源会话、重启本地点歌服务并刷新二维码、自动重试断网期间失败的下载(最多 8 首)。 - 顺带修掉离线时
localIp()为空导致本地点歌服务每 5s 被反复重启的隐患。
音频均衡器(新)
- 基于系统
android.media.audiofx.Equalizer,按设备真实频段数与增益范围自适应,不写死 5 段。 - 默认挂到实际播放会话,随歌曲切换自动对齐;合并进「调音」弹窗(音量 + 均衡器一处入口)。
- 频段与音量统一为自绘横向滑杆:遥控需按确认键进入/退出调节态,触控须按住滑块才拖动。
- 远程点歌页面新增「均衡器」卡片(可折叠)。
公放随机清单(新)
- 随机续播改为一次性生成打乱顺序的临时清单,一轮内不重复,播完自动开新一轮;
每次取歌重新比对曲库,自动吸纳新增、剔除已删除;不进已点清单、退出即清理。
界面与交互
- 弹窗分辨率自适应:调音 / 扫码点歌 / 声音设置弹窗统一按屏幕预算计算,矮屏不再被裁切;
修「文字显示不全」(文字行改 wrap_content,只收缩可伸缩区域)。 - 播放界面右上角二维码改为跟随全屏控制层出现/隐藏。
- 声音设置弹窗精简为策略选择(移除重复的音量滑杆与均衡器入口)。
- 公放切歌修复。
性能
- 远程搜索加设备端 LRU 缓存(同一「类型+关键词+页码」直接复用),
手机端取消旧请求、不重复请求、预热第 2 页、搜索期间暂停状态轮询。
说明
- 包名
com.local.ktv,versionCode 16,versionName 1.4.0,双 ABI(arm64-v8a + armeabi-v7a)。 - 签名与 V1.3.x 系列同一证书,可直接覆盖安装升级。
Downloads
- 修复「断网重连后再也下载不了、日志却显示歌曲源获取成功」:
-
麦动KTV V1.3.3 Stable
released this
2026-09-15 21:53:53 +08:00 | 45 commits to master since this release麦动KTV V1.3.3
更新内容
- 播放界面:左上角「当前播放 / 下一首」改为实时刷新 —— 本地点歌、手机扫码点歌、自动切歌后都会立即同步;顶部状态栏的「下首」修正为按当前曲目在队列中的位置取其后一首
- 音量控制:播放界面「调音」、声音设置「歌曲最大音量」、远程控制「音乐音量」三处统一为 只调节 App 自身输出音量,不再改动系统音量
- 响度修复:修掉音量被衰减两次的问题(原先设为 70% 时实际响度只有约 49%),现在 100% 即满幅
- 默认音量:App 输出音量默认值调整为 85%
- 界面修复:移除触摸/点击启动界面与播放界面时出现的纯色遮罩层
- 设备标识:设备 MAC 改为读取本机 当前在用网卡的硬件地址(读不到时回退内置值)
下载
附件
maidong-ktv-V1.3.3-release.apk,双 ABI:arm64-v8a+armeabi-v7a,兼容 64 位与 32 位设备。本软件免费开源,请勿付费获取。
Downloads
-
麦动KTV V1.3.0 Stable
released this
2026-09-12 17:47:57 +08:00 | 50 commits to master since this release更新内容
- 关于界面:补充框架来源标注 —— 框架来源:杨家三郎/麦动KTV,内核:由 DSH 重构数据库源(设置页与关于弹窗同步生效)
- 日志系统:迁移为集中式日志服务(HTTP 上报,单条 JSON),并清理旧 TLS 证书文件
- 文档:同步构建说明、版本号与 JS 热更新标记(KTV_BRIDGE_API: 8)
下载
附件
maidong-ktv-V1.3.0-release.apk,双 ABI(arm64-v8a + armeabi-v7a),支持 64 位与 32 位设备。本软件免费开源,请勿付费获取。
Downloads
-
麦动KTV V1.2.5 Stable
released this
2026-09-11 23:08:57 +08:00 | 55 commits to master since this release麦动 KTV V1.2.5 正式版(Gitea 发布)
- 代码托管与更新源迁移至 Gitea(App 内检查更新 / JS 热更新均已切到 gitea.kasugano.cn)
- 歌曲源: 7 源多入口 + 自动排序(解析失败源沉底)
- 曲库: 官方 Muse 同步(不再依赖代码仓库承载数据库)
- 远程日志: 启动/点歌/网络错误实时上报
- 广告屏蔽: 错号资源拦截并重试
- UI: 列表行高自适应铺满投影/高分屏;扫码点歌显示 ip:端口;手机连接时自动隐藏右上角二维码
- 启动自动随机播放本地已下载歌曲;数据设置界面秒开
- 麦克风: 启动请求权限并常驻占用输入通道,外接麦热插拔自动跟随
- 双 ABI: arm64-v8a + armeabi-v7a
Downloads