YStudio Y++

摄像头类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → 摄像头类。

类型名必须写完整「摄像头类」。声明时自动创建,一般无需再调 创建*。

硬约束

  1. 类型名必须写「摄像头类」。Media Foundation 采集。
  2. 可先 枚举摄像头() 再打开;取帧常为 JPEG。
  3. 用完关闭;预览推送到图片框。

快速开始

摄像头类 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

停止预览

  • 签名:逻辑 停止预览()
  • 说明:停止向图片框推送帧;设备仍保持打开。

是否预览中

  • 签名:逻辑 是否预览中()
  • 说明:是否正在实时预览。

取宽度

  • 签名:整数 取宽度()
  • 说明:当前帧宽度(像素)。

取高度

  • 签名:整数 取高度()
  • 说明:当前帧高度(像素)。

取设备名

  • 签名:文本 取设备名()
  • 说明:当前打开的设备友好名称。

取错误

  • 签名:文本 取错误()
  • 说明:最近一次失败原因。

枚举设备

  • 签名:文本数组 枚举设备()
  • 说明:等同自由命令「枚举摄像头()」。

易错对照

错误 正确
类型写成「摄像头」 必须「摄像头类」
忘记关闭 退出前关闭设备

相关

图片支持库 · 图片框