# 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 的环境说明。