Files
opendance-android/tasks/007-running-ui.md
T

55 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 的环境说明。