冻结命令

冻结命令冻结 VCR 上的视频输入或视频输出,或禁用帧缓冲区的视频采集。 数字视频、视频覆盖和 VCR 设备可识别此命令。

若要发送此命令,请使用 lpszCommand 参数集调用 mciSendString 函数,如下所示。

_stprintf_s(
  lpszCommand, 
  TEXT("freeze %s %s %s"), 
  lpszDeviceID, 
  lpszFreezeFlags, 
  lpszFlags
); 

parameters

lpszDeviceID

MCI 设备的标识符。 打开设备时会分配此标识符或别名。

lpszFreezeFlags

标识要冻结的内容的标志。 下表列出了可识别 冻结 命令的设备类型以及每种类型使用的标志。

含义 含义
digitalvideo 位于矩形 外面
overlay 位于矩形
录像机
  • Field — 字段
  • 框架
  • input
  • output

下表列出了可在 lpszFreezeFlags 参数中指定的标志及其含义。

含义
位于矩形 指定将冻结的区域。 对于视频覆盖设备,此区域将禁用视频获取。 对于数字视频设备,除非) 指定了“outside”标志,否则矩形中的像素将打开其锁掩码位 (。 矩形相对于视频缓冲区原点,指定为 X1 Y1 X2 Y2。 坐标 X1 Y1 指定矩形的左上角,坐标 X2 Y2 指定宽度和高度。
Field — 字段 冻结第一个字段。 如果) 未指定帧和字段,则默认假定字段 (。
框架 冻结整个帧,同时显示这两个字段。
input 冻结输入图像的当前帧,无论它是暂停还是正在运行。
output 冻结 VCR 输出的当前帧。 如果在发出冻结时正在播放 VCR,则当前帧处于冻结状态并暂停 VCR。 如果在发出此命令时 VCR 暂停,则当前帧处于冻结状态。 冻结的映像将保留在输出设备上,直到发出 取消冻结 命令。 如果既没有指定“input”,也未指定“output”,则假定为“output”。
外面 指示使用“at”标志指定的区域外部的区域已冻结。

lpszFlags

可以是“等待”、“通知”或两者。 对于数字视频和 VCR 设备,还可以指定“测试”。 有关这些标志的详细信息,请参阅 等待、通知和测试标志

返回值

如果成功,则返回零,否则返回错误。

备注

与 VCR 设备一起使用时,此命令适用于帧抓取卡。

若要使用“at”标志指定不规则的购置区域,请使用一系列冻结和 取消冻结 命令。 某些视频覆盖设备会限制获取区域的复杂性。

仅当调用带有“can freeze” 标志的功能命令 返回 TRUE 时,才支持此命令。

示例

以下命令在视频缓冲区左上角的 100 像素正方形中禁用视频采集。

freeze vboard at 0 0 100 100

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]

另请参阅

Mci

MCI 命令字符串

capability

解冻