冻结命令
冻结命令冻结 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 [仅限桌面应用] |