MCI_SETVIDEO 命令
MCI_SETVIDEO命令设置与视频播放关联的值。 数字视频和 VCR 设备可识别此命令。
若要发送此命令,请使用以下参数调用 mciSendCommand 函数。
MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_SETVIDEO,
DWORD dwFlags,
(DWORD) (LPMCI_GENERIC_PARMS) lpSetVideo
);
parameters
-
wDeviceID
-
要接收命令消息的 MCI 设备的设备标识符。
-
dwFlags
-
MCI_NOTIFY、 MCI_WAIT或 MCI_TEST。 有关这些标志的信息,请参阅 等待、通知和测试标志。
-
lpSetVideo
-
指向 MCI_GENERIC_PARMS 结构的指针。 具有扩展命令集 (设备可能会将此结构替换为特定于设备的结构。)
返回值
如果成功,则返回零,否则返回错误。
备注
以下附加标志用于“digitalvideo”设备类型:
-
MCI_DGV_SETVIDEO_ALG
-
由 lpSetVideo 标识的 结构的 lpstrAlgorithm 成员包含包含视频压缩算法名称的缓冲区的地址。 压缩算法由后续 MCI_RESERVE 或 MCI_RECORD 命令使用。 可用的算法依赖于设备。
如果指定的算法与当前文件格式不兼容,则文件格式将更改为算法的默认格式。
-
MCI_DGV_SETVIDEO_CLOCKTIME
-
与 MCI_DGV_SETVIDEO_OVER 一起使用时,指示以毫秒为单位指定时间,为绝对时间。 (这次与工作区的玩法不同步。)
-
MCI_DGV_SETVIDEO_INPUT
-
修改 MCI_DGV_SETVIDEO_BRIGHTNESS、 MCI_DGV_SETVIDEO_COLOR、 MCI_DGV_SETVIDEO_CONTRAST、 MCI_DGV_SETVIDEO_GAMMA、 MCI_DGV_SETVIDEO_SHARPNESS或 MCI_DGV_SETVIDEO_TINT ,使其影响输入信号并修改记录的内容。 如果可能,这是监视输入时的默认值。
-
MCI_DGV_SETVIDEO_ITEM
-
视频常量在 lpSetVideo 标识的 结构的 dwItem 成员中指定。 常量标识正在设置的值。 可以使用此标志指定以下常量:
-
MCI_AVI_SETVIDEO_DRAW_PROCEDURE
-
在由 lpSetVideo 标识的 结构的 dwValue 成员中指定新的绘图过程地址。 仅当设备空闲时,才能指定新的绘图过程。 此标志仅由 MCIAVI 数字视频驱动程序识别。 字符串命令接口中没有等效于此标志。
-
MCI_AVI_SETVIDEO_PALETTE_COLOR
-
在 lpSetVideo 标识的结构的 dwOver 和 dwValue 成员中指定新的调色板颜色。 dwOver 成员指定要更改的颜色的调色板索引,dwValue 成员将新颜色指定为 RGB 值。 使用此常量时,还必须使用MCI_DGV_SETVIDEO_ITEM指定MCI_DGV_SETVIDEO_OVER和MCI_DGV_SETVIDEO_VALUE标志。 此标志仅由 MCIAVI 数字视频驱动程序识别。
-
MCI_AVI_SETVIDEO_PALETTE_HALFTONE
-
指示应使用半色调调色板,而不是默认调色板。 此标志仅由 MCIAVI 数字视频驱动程序识别。
-
MCI_DGV_SETVIDEO_BITSPERPEL
-
每个像素的位数在 lpSetVideo 标识的结构的 dwValue 成员中指定。 每像素的位数用于保存捕获或记录的数据
-
MCI_DGV_SETVIDEO_BRIGHTNESS
-
视频亮度级别指定为 lpSetVideo 标识的结构的 dwValue 成员中的一个因素。
-
MCI_DGV_SETVIDEO_COLOR
-
视频颜色饱和度级别指定为 lpSetVideo 标识的结构的 dwValue 成员中的一个因子。
-
MCI_DGV_SETVIDEO_CONTRAST
-
视频对比度级别指定为 lpSetVideo 标识的结构的 dwValue 成员中的一个因子。
-
MCI_DGV_SETVIDEO_FRAME_RATE
-
帧速率在 lpSetVideo 标识的 结构的 dwValue 成员中指定。 速率以每秒帧数乘以 1000 的单位指定。 例如,29.97 帧/秒指定为 29970。
-
MCI_DGV_SETVIDEO_GAMMA
-
在 lpSetVideo 标识的 结构的 dwValue 成员中指定伽马校正指数值。 伽玛校正调整表示源中编码的强度与显示的亮度之间的映射。 该值是指数乘以 1000。 例如,2200 表示指数为 2.2。 值为 1000 表示指数为 1,它不应用伽玛校正。
-
MCI_DGV_SETVIDEO_KEY_COLOR
-
键颜色在 lpSetVideo 标识的 结构的 dwValue 成员中指定。 键颜色为 RGB 值。
-
MCI_DGV_SETVIDEO_KEY_INDEX
-
键索引值在 lpSetVideo 标识的 结构的 dwValue 成员中指定。 index 参数是物理调色板索引。
-
MCI_DGV_SETVIDEO_PALHANDLE
-
调色板句柄在 lpSetVideo 标识的 结构的 dwValue 成员中指定。 调色板句柄包含在低序字中。 数字视频设备不应释放使用此命令传递的调色板。 应用程序应在关闭设备后释放它。 只有使用调色板的设备才支持此标志。 如果此指定的调色板句柄为零,则使用默认调色板。
-
MCI_DGV_SETVIDEO_SHARPNESS
-
视频锐度值指定为 lpSetVideo 标识的结构的 dwValue 成员中的一个因子。
-
MCI_DGV_SETVIDEO_SOURCE
-
在 lpSetVideo 标识的结构的 dwValue 成员中指定指定视频输入源的常量。 定义了以下常量:
- MCI_DGV_SETVIDEO_SRC_NTSC:NTSC 电视。
- MCI_DGV_SETVIDEO_SRC_PAL:PAL电视。
- MCI_DGV_SETVIDEO_SRC_RGB:RGB 视频。
- MCI_DGV_SETVIDEO_SRC_SECAM:SECAM电视。
- MCI_DGV_SETVIDEO_SRC_SVIDEO:S-Video。
-
MCI_DGV_SETVIDEO_STREAM
-
视频流在 lpSetVideo 标识的 结构的 dwValue 成员中指定。 整数值指定从工作区播放的视频流。 如果未指定流,并且文件格式未定义默认流,则会播放第一个物理交错的视频流。
-
MCI_DGV_SETVIDEO_TINT
-
视频色调值指定为 lpSetVideo 标识的结构的 dwValue 成员中的一个因子。 通常,此调整以许多彩色电视机的色调控制为模型,其中 250 台定义为绿色,750 定义为红色,0 (或 1000) 定义为蓝色。 标称值始终为 500。
-
MCI_DGV_SETVIDEO_OUTPUT
-
修改MCI_DGV_SETVIDEO_BRIGHTNESS、MCI_DGV_SETVIDEO_COLOR、MCI_DGV_SETVIDEO_CONTRAST、MCI_DGV_SETVIDEO_GAMMA、MCI_DGV_SETVIDEO_SHARPNESS或MCI_DGV_SETVIDEO_TINT标志,使其仅影响显示的信号,而不会影响记录的内容。 如果可能,这是监视文件时的默认值。
-
MCI_DGV_SETVIDEO_OVER
-
转换长度参数包含在由 lpSetVideo 标识的结构的 dwOver 成员中。 转换长度指定 (当前时间格式) 进行更改所需的时间。 如果未使用此标志,则立即发生更改。
-
MCI_DGV_SETVIDEO_QUALITY
-
lpSetVideo 标识的结构的 lpstrQuality 成员包含描述视频质量的缓冲区的地址。 缓冲区中的文本字符串指定视频压缩算法的特征。
MCI_DGV_SETVIDEO_ALG标志可用于为指定算法选择质量描述符。 如果省略此标志,则使用当前算法。
可用的算法和描述符名称取决于设备。 每个设备都提供可用算法的文档和适用描述符名称的说明。 MCI_QUALITY 命令可以定义其他描述符名称。 所有设备都支持描述符“low”、“medium”和“high”。 默认值特定于驱动程序。
-
MCI_DGV_SETVIDEO_RECORD
-
指定录制是包含还是排除视频数据。 与 MCI_SET_ON结合使用时,将录制视频数据。 与 MCI_SET_OFF结合使用时,将排除视频数据。 默认值包括视频数据。
-
MCI_DGV_SETVIDEO_SRC_NUMBER
-
视频源的数字在 lpSetVideo 标识的结构的 dwSourceNumber 成员中指定。 如果 MCI_DGV_SETVIDEO_VALUE指定的类型有多个输入,则 值将选择该输入。 此标志必须始终与 MCI_DGV_SETVIDEO_SOURCE 一起使用。 但是,如果省略 MCI_DGV_SETVIDEO_VALUE ,则指定的源编号指示 MCI_LIST命令中指定的 绝对源。
-
MCI_DGV_SETVIDEO_STILL
-
指定的算法名称或质量值适用于静态图像。
每个设备驱动程序都必须支持“无”算法,这意味着没有压缩。 这是默认值。 在这种情况下,数字视频设备将静态图像保存为 RGB 设备无关的位图, (DIB) 。
-
MCI_DGV_SETVIDEO_VALUE
-
值包含在由 lpSetVideo 标识的结构的 dwValue 成员中。 值的含义由 MCI_DGV_SETVIDEO_ITEM 标志指定。
-
MCI_SET_OFF
-
禁用视频输出。 对于数字视频设备,禁用视频设置 MCI_PUT 命令定义的目标矩形中的像素 (或其默认值,当前窗口的客户端区域) 纯色,但它对帧缓冲区没有影响。 如果需要,可以使用 MCI_WINDOW 命令隐藏窗口。 视频源(无论是工作区还是外部输入)可能会继续将新图像存储在帧缓冲区中,但在启用视频之前不会显示它们。 虽然应用程序应使用 MCI_SETVIDEO 命令来控制此功能,但数字视频设备仍必须支持此标志。 打开后的默认值处于打开状态。
-
MCI_SET_ON
-
启用视频输出。
对于数字视频设备, lpSetVideo 参数指向 MCI_DGV_SETVIDEO_PARMS 结构。
以下附加标志用于“vcr”设备类型:
-
MCI_VCR_SETVIDEO_RECORD
-
将视频录制设置为打开或关闭。 与以下标志之一结合使用:
- MCI_SET_ON。 视频录制打开。
- MCI_SET_OFF。 视频录制关闭。 可能需要先使用 MCI_SET 命令关闭汇编录制 (, MCI_VCR_SET_ASSEMBLE_RECORD标志设置为 关闭) ,然后才能关闭视频录制。
-
MCI_TRACK
-
由 lpSetVideo 标识的结构的 dwTrack 成员指定受 命令影响的轨道。
-
MCI_VCR_SETVIDEO_SOURCE
-
设置视频源,并且必须与 MCI_VCR_SETVIDEO_TO 标志一起使用。
-
MCI_VCR_SETVIDEO_MONITOR
-
设置视频源监视器,并且必须与 MCI_VCR_SETVIDEO_TO 标志一起使用。
-
MCI_VCR_SETVIDEO_TO
-
由 lpSetVideo 标识的结构的 dwTo 成员包含以下常量之一:
- **MCI\_VCR\_SRC\_TYPE\_TUNER**
- **MCI\_VCR\_SRC\_TYPE\_LINE**
- **MCI\_VCR\_SRC\_TYPE\_AUX**
- **MCI\_VCR\_SRC\_TYPE\_GENERIC**
- **MCI\_VCR\_SRC\_TYPE\_MUTE**
- **MCI\_VCR\_SRC\_TYPE\_OUTPUT**
- **MCI\_VCR\_SRC\_TYPE\_RGB**
- **MCI\_VCR\_SETVIDEO\_NUMBER**
由 lpSetVideo 标识的结构的 dwNumber 成员包含要使用的 dwTo 成员) 中指定的类型的视频输入 (。
对于 VCR 设备, lpSetVideo 参数指向 MCI_VCR_SETVIDEO_PARMS 结构。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|