ClipGoal-AI 前端移动应用 - React Native + Expo实现的实时足球检测和录制应用
- React Native (0.79.5) - 跨平台移动开发
- Expo (53.0.20) - 开发和部署平台
- TypeScript - 类型安全
- React Navigation - 导航组件
- Expo Camera - 相机功能
- React Native SVG - 图形绘制
- 📱 跨平台移动应用 (iOS/Android)
- 📹 实时相机预览和录制
- ⚽ 实时足球检测可视化
- 🥅 手动球门区域标注
- 🔴 大型录制按钮设计
- 🌐 WebSocket实时通信
- 📊 检测状态可视化
- Node.js 16+
- npm 或 yarn
- Expo CLI
- iOS模拟器 或 Android模拟器/设备
npm installnpm startnpm run ios # iOS模拟器
npm run android # Android模拟器/设备
npm run web # Web浏览器在 screens/RecordScreen.tsx 中配置后端API地址:
const getApiUrl = () => {
if (Platform.OS === 'ios') {
return 'http://YOUR_IP:8000'; // 替换为你的IP
} else if (Platform.OS === 'android') {
return 'http://10.0.2.2:8000'; // Android模拟器
}
};应用会自动请求相机权限,请确保授权以使用检测功能。
- 应用介绍和导航入口
- 运动项目选择界面
- 实时相机预览
- AI检测结果可视化 (绿色框标记足球)
- 球门手动标注 (蓝色区域)
- 录制控制 (大红色圆形按钮)
- 检测状态指示器
- 录制的视频片段管理
- 每秒向后端发送帧进行AI分析
- 实时显示检测结果和边界框
- 置信度和坐标信息展示
- 点击"标注球门"进入标注模式
- 按顺时针顺序点击4个角点
- 自动生成球门检测区域
- 大红色圆形录制按钮
- 支持开始/停止录制
- 录制状态实时反馈
- 自动碰撞触发录制
- 足球与球门区域重叠检测
- 自动触发录制功能
- 视觉提示和状态更新
├── screens/ # 主要界面
│ ├── RecordScreen.tsx # 核心录制界面
│ ├── HomeScreen.tsx # 主页
│ ├── WelcomeScreen.tsx # 欢迎页
│ └── LibraryScreen.tsx # 视频库
├── navigation/ # 导航配置
│ └── TabNavigator.tsx # 底部标签导航
├── assets/ # 静态资源
└── App.tsx # 应用入口
- 使用Expo开发工具调试
- 摇动设备打开开发菜单
- 支持热重载和实时编辑
# 创建构建
expo build:ios
expo build:android
# 或使用EAS Build
eas build --platform ios
eas build --platform android需要配置本地IP地址,确保设备和开发机在同一WiFi网络
使用 10.0.2.2 作为host地址访问开发机
- 确保后端服务运行在
0.0.0.0:8000 - 检查防火墙设置
- 使用
network_test.html测试连接
后端项目地址:https://github.com/Yaowwwwww/clipgoal-ai-backend
MIT License