类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → 摄像头类。
类型名必须写完整「摄像头类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「摄像头类」。Media Foundation 采集。
- 可先
枚举摄像头()再打开;取帧常为 JPEG。 - 用完关闭;预览推送到图片框。
快速开始
摄像头类 cam
文本 names[] = 枚举摄像头()
如果 (cam.打开(0)) {
cam.开始预览(图片框1)
字节集 jpg = cam.取一帧()
cam.停止预览()
cam.关闭()
}
摄像头类/创建
共 2 条。
创建摄像头
- 签名:
通用 创建摄像头() - 说明:本机摄像头会话(Media Foundation)。一般直接写「摄像头类 cam」。
枚举摄像头
- 签名:
文本数组 枚举摄像头() - 说明:枚举本机视频采集设备友好名称(文本数组)。
摄像头类/方法
共 13 条。
打开
- 签名:
逻辑 打开([整数 索引=0], [整数 宽=0], [整数 高=0]) - 说明:按索引打开摄像头;宽/高为期望分辨率,0=设备默认。
- 参数一│[整数 索引=0]: 与枚举摄像头() 下标对应(从 0 起)
- 参数二│[整数 宽=0]: 期望宽度,0=默认
- 参数三│[整数 高=0]: 期望高度,0=默认
按名称打开
- 签名:
逻辑 按名称打开(文本 名称, [整数 宽=0], [整数 高=0]) - 说明:按友好名称(精确或包含匹配)打开。
- 参数一│文本 名称
- 参数二│[整数 宽=0]
- 参数三│[整数 高=0]
关闭
- 签名:
逻辑 关闭() - 说明:关闭设备。
是否打开
- 签名:
逻辑 是否打开() - 说明:是否已成功打开。
取一帧
- 签名:
字节集 取一帧() - 说明:读取当前帧,返回 JPEG 字节集(抓拍/存盘);失败返回空。
开始预览
- 签名:
逻辑 开始预览(组件名 图片框, [整数 间隔毫秒=66]) - 说明:实时预览:定时取帧并以 BGRA 直推到图片框(约 15FPS 默认)。
- 参数一│组件名 图片框: 设计器中的图片框名称
- 参数二│[整数 间隔毫秒=66]: 刷新间隔,越小越流畅、越耗 CPU
停止预览
- 签名:
逻辑 停止预览() - 说明:停止向图片框推送帧;设备仍保持打开。
是否预览中
- 签名:
逻辑 是否预览中() - 说明:是否正在实时预览。
取宽度
- 签名:
整数 取宽度() - 说明:当前帧宽度(像素)。
取高度
- 签名:
整数 取高度() - 说明:当前帧高度(像素)。
取设备名
- 签名:
文本 取设备名() - 说明:当前打开的设备友好名称。
取错误
- 签名:
文本 取错误() - 说明:最近一次失败原因。
枚举设备
- 签名:
文本数组 枚举设备() - 说明:等同自由命令「枚举摄像头()」。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成「摄像头」 | 必须「摄像头类」 |
| 忘记关闭 | 退出前关闭设备 |