MCI_SETVIDEO 命令

MCI_SETVIDEO命令设置与视频播放关联的值。 数字视频和 VCR 设备可识别此命令。

若要发送此命令,请使用以下参数调用 mciSendCommand 函数。

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SETVIDEO, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_GENERIC_PARMS) lpSetVideo
);

parameters

wDeviceID

要接收命令消息的 MCI 设备的设备标识符。

dwFlags

MCI_NOTIFYMCI_WAITMCI_TEST。 有关这些标志的信息,请参阅 等待、通知和测试标志

lpSetVideo

指向 MCI_GENERIC_PARMS 结构的指针。 具有扩展命令集 (设备可能会将此结构替换为特定于设备的结构。)

返回值

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

备注

以下附加标志用于“digitalvideo”设备类型:

MCI_DGV_SETVIDEO_ALG

lpSetVideo 标识的 结构的 lpstrAlgorithm 成员包含包含视频压缩算法名称的缓冲区的地址。 压缩算法由后续 MCI_RESERVEMCI_RECORD 命令使用。 可用的算法依赖于设备。

如果指定的算法与当前文件格式不兼容,则文件格式将更改为算法的默认格式。

MCI_DGV_SETVIDEO_CLOCKTIME

MCI_DGV_SETVIDEO_OVER 一起使用时,指示以毫秒为单位指定时间,为绝对时间。 (这次与工作区的玩法不同步。)

MCI_DGV_SETVIDEO_INPUT

修改 MCI_DGV_SETVIDEO_BRIGHTNESSMCI_DGV_SETVIDEO_COLORMCI_DGV_SETVIDEO_CONTRASTMCI_DGV_SETVIDEO_GAMMAMCI_DGV_SETVIDEO_SHARPNESSMCI_DGV_SETVIDEO_TINT ,使其影响输入信号并修改记录的内容。 如果可能,这是监视输入时的默认值。

MCI_DGV_SETVIDEO_ITEM

视频常量在 lpSetVideo 标识的 结构的 dwItem 成员中指定。 常量标识正在设置的值。 可以使用此标志指定以下常量:

MCI_AVI_SETVIDEO_DRAW_PROCEDURE

由 lpSetVideo 标识的 结构的 dwValue 成员中指定新的绘图过程地址。 仅当设备空闲时,才能指定新的绘图过程。 此标志仅由 MCIAVI 数字视频驱动程序识别。 字符串命令接口中没有等效于此标志。

MCI_AVI_SETVIDEO_PALETTE_COLOR

lpSetVideo 标识的结构的 dwOverdwValue 成员中指定新的调色板颜色。 dwOver 成员指定要更改的颜色的调色板索引,dwValue 成员将新颜色指定为 RGB 值。 使用此常量时,还必须使用MCI_DGV_SETVIDEO_ITEM指定MCI_DGV_SETVIDEO_OVERMCI_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_BRIGHTNESSMCI_DGV_SETVIDEO_COLORMCI_DGV_SETVIDEO_CONTRASTMCI_DGV_SETVIDEO_GAMMAMCI_DGV_SETVIDEO_SHARPNESSMCI_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 [仅限桌面应用]
标头
Mmsystem.h (包括 Windows.h)

请参阅

Mci

MCI 命令