2.7 KiB
2.7 KiB
AISee Flutter 实时相机
实时相机图像捕获和传输演示项目。
功能特性
- ✅ 实时相机预览
- ✅ 图像自动压缩(640x480,质量 85%)
- ✅ 定时捕获(每 500ms 一帧)
- ✅ 异步上传到后端
- ✅ 单张拍照并分析
- ✅ 前后摄像头切换
- ✅ 实时状态显示
快速开始
1. 安装依赖
flutter pub get
2. 配置后端地址
编辑 lib/utils/app_config.dart:
// Android 模拟器
static const String apiBaseUrl = 'http://10.0.2.2:8000';
// 真机(改为你的电脑 IP)
static const String apiBaseUrl = 'http://192.168.1.100:8000';
3. 运行项目
flutter run
项目结构
lib/
├── main.dart # 入口和首页
├── screens/
│ └── camera_screen.dart # 相机页面
├── services/
│ ├── camera_service.dart # 相机服务
│ └── api_service.dart # API 服务
└── utils/
└── app_config.dart # 配置
使用说明
- 打开相机:点击首页"打开相机"按钮
- 拍照分析:拍摄单张照片并上传分析
- 开始传输:每 500ms 自动捕获并上传
- 停止传输:停止实时捕获
- 切换摄像头:前后摄像头切换
配置参数
在 lib/utils/app_config.dart 中调整:
static const int imageMaxWidth = 640; // 图像宽度
static const int imageMaxHeight = 480; // 图像高度
static const int imageQuality = 85; // JPEG 质量
static const Duration captureInterval = Duration(milliseconds: 500); // 捕获间隔
后端 API
需要实现以下端点:
POST /api/v1/images/upload # 上传图像
POST /api/v1/analysis/analyze # 分析图像
详细文档见项目根目录的技术方案文档。
依赖
- camera: ^0.10.5+9
- image: ^4.1.7
- dio: ^5.4.1
- permission_handler: ^11.3.0
- provider: ^6.1.1
常见问题
Q: 相机权限被拒绝? A: 在手机设置中授予相机权限并重启应用。
Q: 网络连接失败? A: 检查后端服务是否启动,确认 IP 地址配置正确。
Q: 上传速度慢? A: 降低图像分辨率或增加捕获间隔。
更多信息请查看项目文档。
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.