Files
opendance-android/tasks/007-running-ui.md
T
zijunchiang 264786134c docs: 新增「初次部署(从零跑起来)」;去混淆字符与真实内网信息
- README.md / README.txt 新增初次部署章节:前置条件(JDK 17 / SDK 34 / Gradle 8.9)、
  获取代码与本地配置(local.properties 不入仓)、Debug/Release 构建、装到手机与相机权限、
  连接配置(只连 Windows 客户端,默认 8765 / /pose)、第一次跑通、自检清单、常见问题
- 单测数量按实际(30 项)修正
- 三库同源契约:':=' 写法修回、去掉真实 MariaDB 版本串
- 全文去除易被 Gitea 判为「模棱两可 Unicode」的字符
- 本机 JDK 路径与内网示例地址改占位符 / RFC 5737 文档网段
2026-09-15 21:33:27 +08:00

2.0 KiB
Raw Blame History

T-AND-007 运行页 + 状态指示

  • 状态:done
  • 依赖:T-AND-003 / 005 / 006

目标

预览 + 骨架叠加 + 实时状态,让用户明确知道「现在到底通不通、识别得准不准」。

load

DSH.md
app/src/main/java/com/opendance/studio/ui/RunningScreen.kt
app/src/main/java/com/opendance/studio/ui/SkeletonOverlay.kt

数据流

CameraX(ImageAnalysis) ──ImageProxy──▶ MediaPipe PoseLandmarker(端侧)
                                            │ 33 点
                    ┌───────────────────────┴───────────────────────┐
                    ▼                                               ▼
      KeypointFrame(239B) ──▶ WebSocket ──▶ Windows        骨架叠加层

状态指示(本任务的验收重点)

指标 含义
连接状态 未连接 / 连接中 / 已连接 / 重连中(第 N 次)/ 已断开
目标 完整 WS 地址
会话 服务端 welcome 回来的 sessionId
已发送 / 已丢弃 帧数;丢弃 > 0 时提示「推理/连接跟不上」
发送帧率 / 识别帧率 端到端吞吐的两个关键指标
推理耗时 单帧 MediaPipe 推理毫秒数
人体识别 已识别 / 未识别到人体(醒目黄色提示)
平均置信度 < 70% 时转黄,提示光线或遮挡问题
最近错误 连接或推理的错误原因

叠加层把 低置信度点画成红色,用户能直接看出是哪个部位没识别到-- 比只显示一个错误码有用得多。

其他

  • 相机权限未授予时显示说明 + 授权按钮,并强调「画面只在本地推理」
  • 支持前后摄像头切换(复用同一个分析器实例)
  • 返回键在运行页等同于结束推流,避免相机后台占用

验收

assembleDebug 通过;页面构造路径在构建期完成类型检查。 端到端推流需真机,见 tasks/009 的环境说明。