# carmermanager **Repository Path**: jcmos/carmermanager ## Basic Information - **Project Name**: carmermanager - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-10 - **Last Updated**: 2025-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 摄像头扫描枪录制系统 ## 项目概述 这是一个使用C#和Emgu.CV开发的Windows桌面应用程序,实现了USB扫描枪控制USB摄像头进行视频录制的功能。 ## 功能特性 ### 核心功能 - **USB摄像头控制**:自动检测并连接USB摄像头 - **扫描枪输入**:支持USB扫描枪扫描单号触发录制 - **智能录制管理**: - 扫描新单号时自动保存上一个单号的视频 - 视频文件以"单号+时间戳"格式命名 - 支持连续扫描,无缝切换录制 - **自动停止保护**:最长录制120分钟自动保存并停止录制 - **配置持久化**:保存用户设置,下次启动时自动加载 ### 用户界面 - 实时摄像头预览 - 当前录制状态显示 - 录制时间计时 - 灵活的视频保存路径设置 - 最大录制时间可配置 ## 系统要求 - Windows 10/11 - .NET 6.0 Desktop Runtime - USB摄像头 - USB扫描枪(支持键盘模拟输入) ## 安装和运行 ### 方法一:使用Visual Studio 1. 打开 `CameraScannerRecorder.sln` 2. 还原NuGet包 3. 编译并运行 ### 方法二:命令行编译 ```bash cd CameraScannerRecorder dotnet restore dotnet build dotnet run ``` ## 使用说明 1. **首次启动**: - 程序会自动创建默认保存目录 `D:/videos` - 自动检测可用摄像头 2. **基本操作**: - 选择要使用的摄像头 - 设置视频保存路径 - 设置最大录制时间(分钟) - 点击"保存设置"应用配置 3. **开始录制**: - 在扫描枪输入框中扫描单号 - 或者点击"开始录制"手动输入单号 4. **停止录制**: - 扫描新单号会自动停止当前录制并开始新的录制 - 点击"停止录制"手动停止 - 点击"强制停止"立即停止所有录制 ## 文件格式 录制的视频文件保存在指定目录下,命名格式为: ``` {单号}_{年月日_时分秒}.avi ``` 示例:`ORDER12345_20231109_143022.avi` ## 配置文件 程序会在当前目录创建 `config.json` 文件保存用户设置: ```json { "videoSavePath": "D:/videos", "maxRecordingMinutes": 120, "selectedCameraIndex": 0, "videoQuality": 80, "lastConfigPath": "config.json" } ``` ## 技术栈 - **C#** - 主要编程语言 - **Windows Forms** - 用户界面框架 - **Emgu.CV** - 计算机视觉库(摄像头控制) - **System.Text.Json** - 配置序列化 ## 项目结构 ``` CameraScannerRecorder/ ├── Models/ # 数据模型 │ ├── AppConfig.cs │ └── RecordingSession.cs ├── Services/ # 业务逻辑服务 │ ├── CameraService.cs │ ├── ConfigService.cs │ ├── RecordingService.cs │ └── ScannerService.cs ├── Utilities/ # 工具类 │ └── InputDialog.cs ├── MainForm.cs # 主窗体 ├── Program.cs # 程序入口 └── CameraScannerRecorder.csproj ``` ## 故障排除 ### 常见问题 1. **摄像头无法连接** - 检查摄像头是否被其他程序占用 - 尝试重新插拔USB摄像头 - 检查摄像头驱动程序 2. **扫描枪无法识别** - 确保扫描枪设置为键盘模拟模式 - 检查扫描枪是否正常工作 - 尝试在其他程序中测试扫描枪 3. **视频无法保存** - 检查保存路径的写入权限 - 确保磁盘空间充足 - 检查文件路径是否包含非法字符 ### 技术支持 如遇到问题,请检查日志文件或联系开发人员。