zijunchiang
|
0549f910a6
|
V1.3.2: 音量控制只作用于 App 内部输出, 不再修改系统音量
三处入口全部收敛到 applyPlaybackMode():
- 播放界面-调音(全屏音量面板 showFullScreenVolumeDialog() 与调音弹窗
showAudioControlDialog() 的音乐音量滑杆)
- 声音设置-歌曲最大音量
- 远程控制-音乐音量(mobile PATCH /api/v1/player/audio -> remoteAudio())
musicVolume(0-100) 作为 App 内部输出音量, 按线性系数施加到主播放器
(KtvVideoView.setPlaybackVolume / selectAudioChannel)与副音轨播放器
(vocalPlayer / embeddedVocalEngine); 删除 applySystemMusicVolume() 及其 4 处调用,
AudioManager.setStreamVolume / getStreamMaxVolume 已全部移除。
副作用修正: 原先 App 音量 70% 时既把系统音量压到 70%、又把播放器衰减到 70%,
实际响度只有约 49%(重复衰减); 现在只衰减一次, 100% 即 unity gain。
版本号 1.3.1 -> 1.3.2(versionCode 7 -> 8)。按约定本次不发布 Release, 仅本地打包测试。
|
2026-09-14 03:20:17 +08:00 |
|
zijunchiang
|
221516f319
|
docs(AGENTS): 更新工作流程 — 推送失败只重试3次后留存本地待下次同步; Gitee 不同步代码只发布版本; 每次更新版本号+1; 发布为手动操作, 未收到指令时仅本地打包测试
|
2026-09-14 02:59:24 +08:00 |
|
zijunchiang
|
485235e96e
|
V1.3.1: 设备MAC改取当前网卡 + 播放界面当前/下一首实时刷新 + 日志IP与启动信息调整
1) 设备 MAC: 新增 DeviceMac 解析「当前在用网卡」硬件地址(优先 wlan/eth/en,
忽略虚拟/蜂窝/VPN; 直接读 NetworkInterface.getHardwareAddress, 规避 Android 6+
WifiInfo 恒返回 02:00:00:00:00:00 的限制), 读出无效值或失败时回退历史抓包值。
结果按进程缓存, 网络切换时由 remoteNetworkMonitor 重解析。
消费方: KtvJsBridge.DEVICE_MAC(JS 端 mac)、whoami 心跳 _mac/androidid/_cid。
2) 播放界面: 抽出 refreshNowPlayingLabels() 作为「当前播放/下一首」的唯一刷新入口,
只在文本变化时写 View, 并挂到 lyricTicker(500ms), 使播放界面左上角、首页播放条、
旧版播放区与顶部状态栏在本地点歌/扫码点歌/自动切歌后都能实时同步;
顶部状态栏的「下首」改为按当前曲目位置取其后一首(原先固定取队列第 2 首)。
3) 远程日志: serverip 改为主机 IP(公网出口 IP, 查询后缓存 5 分钟、失败 1 分钟后重试,
后台线程执行), 新增 clientip 字段承载设备网卡获取到的局域网 IP; 启动上报改为
采集 10 项: 包名、版本号、安装时间、品牌、型号、设备名、Android 版本、CPU 架构、
内核版本、屏幕分辨率。
4) 版本号 1.3.0 -> 1.3.1(versionCode 6 -> 7)。本次不发布 Release, 仅本地打包测试。
|
2026-09-14 02:59:21 +08:00 |
|
zijunchiang
|
2a3c4e6003
|
docs(AGENTS): 记录 Gitee 仓库已精简为仅 README + Releases 附件
|
2026-09-12 17:51:33 +08:00 |
|
zijunchiang
|
914450bc6e
|
发布 V1.3.0: 关于界面标注框架来源, 清理旧日志 TLS 证书, 文档脱敏
- 删除 app/src/main/res/raw/mili_log.crt(旧 syslog/TLS 上报遗留, 已无引用)
- 关于界面(弹窗+设置页)补充: 框架来源 杨家三郎/麦动KTV, 内核 由 DSH 重构数据库源
- app/build.gradle: versionCode 6 / versionName 1.3.0
- 文档: 远程日志域名脱敏(仅指向 MiliLog.ENDPOINT), 同步 KTV_BRIDGE_API: 8 与版本号
v1.3.0
|
2026-09-12 17:47:50 +08:00 |
|
zijunchiang
|
2779237408
|
日志系统更新为 GlogCenter(HTTP): 替换原 syslog/TLS 上报
- MiliLog 重写: POST http://log.kasugano.cn/glc/v1/log/add (application/json 单条)
字段 system/date/text/servername/serverip/loglevel/traceid/user
date 格式 yyyy-MM-dd HH:mm:ss.SSS; 有界队列+后台线程+失败重试/退避
- init 接口保持不变, 各调用点(MainActivity/KtvJsBridge/SongOkDownloadManager)无需改动
- 新增 updateDeviceContext(): 注入设备 IP 与标识; 网络变化时自动刷新
- AGENTS.md 记录新日志系统用法与字段/时间格式约束
|
2026-09-12 17:24:43 +08:00 |
|
zijunchiang
|
b3b8e6a12d
|
删除 WX_resized.jpg(本地与仓库, 无引用)
|
2026-09-12 01:56:38 +08:00 |
|
zijunchiang
|
b37dbec443
|
曲库同步时效 30 天: 未到期启动不联网, 到期后才同步服务器数据库
- DatabaseBootstrapper: 新增 SYNC_TTL_DAYS=30 与 db_sync_at.txt 时间戳
(lastSyncAt/isSyncDue/syncRemainingMs/syncStatusText/markSynced)
- initializeDatabase: 本地曲库可用且未到期时跳过服务器同步(无网络请求);
到期或本地不可用才查版本并在有更新时下载
- 设置页: 曲库行显示「30 天同步: N 天后/已到期」; 更新按钮改为手动强制检查
- download(): 成功后记录同步时间(去掉一次多余的远端版本请求)
|
2026-09-11 23:28:09 +08:00 |
|
zijunchiang
|
4c792361a4
|
docs(AGENTS): 记录 Gitea Release 发布流程与 ASCII 附件名限制
|
2026-09-11 23:15:13 +08:00 |
|
zijunchiang
|
ba31caaa38
|
全量迁移到 Gitea: App更新检查/JS热更新端点上链 Gitea, 文档同步
- AppUpdateManager: releases/latest 改用 gitea.kasugano.cn API
- KtvJsBridge: JS 热更新改用 Gitea raw(/raw/branch/master/...)
- MainActivity/SongApiClient/DatabaseBootstrapper/MuseDbSync: 文案与注释更新
- README.md/README.en.md: 标注本仓库地址(Gitea), 保留上游框架归属链接
- AGENTS.md: 运行时端点迁移状态
v1.2.5
|
2026-09-11 23:08:46 +08:00 |
|
zijunchiang
|
21eca10ee2
|
docs: 同步策略迁移至 Gitea(origin), Gitee 停用并加钩子拦截
|
2026-09-11 22:57:42 +08:00 |
|
zijunchiang
|
57341280e4
|
docs: 新增 AGENTS.md 开发约定(禁用自动推送Gitee, 含构建/签名/关键约束)
|
2026-09-11 02:44:17 +08:00 |
|
zijunchiang
|
3dad59b8de
|
update README.md.
Signed-off-by: zijunchiang <zijunchiang@outlook.com>
|
2026-09-07 12:18:40 +00:00 |
|
zijunchiang
|
267405d1f3
|
update README.en.md.
Signed-off-by: zijunchiang <zijunchiang@outlook.com>
|
2026-09-07 12:17:00 +00:00 |
|
zijunchiang
|
61ad000daf
|
麦克风: 外接输入设备热插拔跟随重建 + 音量UI改硬件调节提示
- MicActivator: 支持 restart/setPreferredDevice(API26), 输入路由切换后重建占用
- MainActivity: AudioDeviceCallback(API23+)/HEADSET广播监听, USB/外接麦插入后
自动重建 AudioRecord 跟随当前输入设备
- 麦克风音量标准Android无输入增益API: 远程界面滑杆禁用并提示'由功放/混音器
硬件调节', 本地调音台+/−按钮同样提示, 避免假调节无效果
|
2026-09-06 01:33:59 +08:00 |
|
zijunchiang
|
197b01f806
|
麦克风: 启动请求RECORD_AUDIO权限并常驻占用麦克风输入(TV/投影需激活后才输出演唱声)
- 新增 MicActivator: AudioRecord 低开销常驻打开 MIC 并循环读丢弃, 保持输入通道占用
- MainActivity: onCreate 延迟请求麦克风权限(REQUEST_MIC_PERMISSION=12), 授权后激活
- 与 MediaRecorder 录音互斥: startRecording 前 pause, stopRecording 后 resume
- onDestroy 释放
|
2026-09-06 00:39:53 +08:00 |
|
zijunchiang
|
9dc0d4b994
|
扫码点歌优化: 对话框显示ip:端口+隐藏提示; 手机连接时自动隐藏全屏右上角二维码
- showMobileRemoteDialog: 二维码下显示当前服务 ip:端口 与提示文字
- LocalRemoteServer: 记录请求活跃时间 hasRecentActivity()
- MainActivity: qrAutoHideMonitor 每秒检测, 手机连接点歌(4s内有请求)自动隐藏
全屏右上角二维码, 断开后恢复显示
|
2026-09-05 23:10:37 +08:00 |
|
zijunchiang
|
b5e605bade
|
版本显示统一为纯 1.2.5(去除 BOOT 日志/旧关于页的括号与写死版本)
|
2026-09-05 01:51:57 +08:00 |
|
zijunchiang
|
ff0ae402ef
|
优化: 启动自动随机播放本地歌曲 + 数据设置界面卡顿修复
- 启动无恢复播放/空队列时, 曲库就绪后自动随机播放本地已下载歌曲
(playRandomLocalSong 增加 startup 文案, 与播放完毕随机续播同逻辑, 点歌即取消)
- 数据设置: 曲库/下载数统计(逐文件校验)从主线程移到 IO 线程,
界面秒开先显示占位, 统计完成后原位回填副标题(updateSubtitle), 不丢焦点
|
2026-09-05 01:37:58 +08:00 |
|
zijunchiang
|
303e86b475
|
界面: 歌曲列表行高自适应铺满屏幕(消除投影/高分屏底部空白)
- SongListAdapter: 新增 rowHeightPx/fitRowHeight/rowsPerPage, 分页列表(2列目录5行/排行6行)
按 ListView 实际可视高度均分行高(clamp 52-160dp), 内容垂直居中, 背景整行铺满
- 滚动型列表(已点/下载/已唱)保持自然行高
- MainActivity.renderSongList: 布局完成后 post fitRowHeight
|
2026-09-05 00:41:00 +08:00 |
|
zijunchiang
|
2d3751064f
|
歌曲源: 新增6源(desktok.top/mm.kk456.top/w.w345.my:66/z.w345.my/b.sktv.top/w345.my) + 多源自动排序
- ktv_api.js: HOSTS 扩为 7 源(同后台多入口), 缓存标记 7→8
- 自动排序: 解析失败的源 demote 到队尾, 成功源 promote 到队首(sourceOrder 运行时可变)
- JS→Kotlin 上报实际命中源(reportSongResult), 远程日志请求源不再写死
- SongApiClient/KtvJsBridge: lastSongSourceHost 供日志使用
|
2026-09-04 23:06:05 +08:00 |
|
zijunchiang
|
5cd98f9327
|
README: 注明框架来源与DSH(DeepSeek Harness)重写说明, 新增编译教程
|
2026-09-04 21:39:30 +08:00 |
|
zijunchiang
|
0c26f6da68
|
麦动KTV: 移除Gitee数据库(改官方Muse同步), 歌曲源切w.w345.my, 远程日志+广告屏蔽
- DatabaseBootstrapper: 删除 Gitee 分片/manifest/blob 下载逻辑, 曲库只走官方 MuseDbSync
- build.gradle: 移除 GITEE_DATABASE_* 构建参数
- MainActivity: 重置数据库文案改为官方同步
- ktv_api.js: 歌曲源仅 w.w345.my, 缓存标记 7, 广告/错号资源拦截+重试
- 远程日志: 点歌记录 编号/标题/请求源/状态
|
2026-09-04 21:23:21 +08:00 |
|