Vfw.h) (CAPTUREPARMS 结构

CAPTUREPARMS 结构包含控制流视频捕获过程的参数。 此结构用于获取和设置影响捕获速率的参数、捕获时要使用的缓冲区数以及终止捕获的方式。

语法

typedef struct tagCaptureParms {
  DWORD dwRequestMicroSecPerFrame;
  BOOL  fMakeUserHitOKToCapture;
  UINT  wPercentDropForError;
  BOOL  fYield;
  DWORD dwIndexSize;
  UINT  wChunkGranularity;
  BOOL  fUsingDOSMemory;
  UINT  wNumVideoRequested;
  BOOL  fCaptureAudio;
  UINT  wNumAudioRequested;
  UINT  vKeyAbort;
  BOOL  fAbortLeftMouse;
  BOOL  fAbortRightMouse;
  BOOL  fLimitEnabled;
  UINT  wTimeLimit;
  BOOL  fMCIControl;
  BOOL  fStepMCIDevice;
  DWORD dwMCIStartTime;
  DWORD dwMCIStopTime;
  BOOL  fStepCaptureAt2x;
  UINT  wStepCaptureAverageFrames;
  DWORD dwAudioBufferSize;
  BOOL  fDisableWriteCache;
  UINT  AVStreamMaster;
} CAPTUREPARMS, *PCAPTUREPARMS, *LPCAPTUREPARMS;

成员

dwRequestMicroSecPerFrame

请求的帧速率,以微秒为单位。 默认值为 66667,对应于每秒 15 帧。

fMakeUserHitOKToCapture

用户启动的捕获标志。 如果此成员为 TRUE,AVICap 将显示一个对话框,提示用户启动捕获。 默认值为 FALSE

wPercentDropForError

捕获期间丢弃的帧的最大允许百分比。 值介于 0 到 100 之间。 默认值为 10。

fYield

Yield 标志。 如果此成员为 TRUE,则捕获窗口将生成单独的后台线程来执行步骤捕获和流式捕获。 默认值为 FALSE

设置此标志的应用程序必须处理潜在的重入问题,因为在捕获过程中,应用程序中的控件未禁用。

dwIndexSize

AVI 文件中的最大索引条目数。 值范围为 1800 到 324,000。 如果设置为 0,则使用默认值 34,952 (32K 帧加上) 的音频缓冲区数。

波形音频数据的每个视频帧或缓冲区使用一个索引条目。 此项的值为可捕获的帧数或音频缓冲区数设定限制。

wChunkGranularity

AVI 文件的逻辑块大小(以字节为单位)。 值 0 指示当前扇区大小用作粒度。

fUsingDOSMemory

不在 Win32 应用程序中使用。

wNumVideoRequested

要分配的最大视频缓冲区数。 用于放置缓冲区的内存区域是使用 fUsingDOSMemory 指定的。 如果内存不可用,则分配的实际缓冲区数可能会较低。

fCaptureAudio

捕获音频标志。 如果此成员为 TRUE,则会在流式捕获期间捕获音频。 如果安装了音频硬件,则这是默认值。

wNumAudioRequested

要分配的最大音频缓冲区数。 缓冲区的最大数目为 10。

vKeyAbort

用于终止流式处理捕获的虚拟密钥代码。 默认值为 VK_ESCAPE。 在指定可以中止捕获会话的击键之前,必须调用 RegisterHotKey 函数。

可以通过将逻辑 OR 运算符与 CTRL (0x8000) 和 SHIFT (0x4000) 的键码结合使用,将包含 CTRL 和 SHIFT 击键的键代码组合在一起。

fAbortLeftMouse

鼠标左键的中止标志。 如果此成员为 TRUE,则当按下鼠标左键时,流式处理捕获将停止。 默认值为 TRUE。

fAbortRightMouse

鼠标右键的中止标志。 如果此成员为 TRUE,则当按下鼠标右键时,流式处理捕获将停止。 默认值为 TRUE。

fLimitEnabled

时间限制已启用标志。 如果此成员为 TRUE,则流式处理捕获在 wTimeLimit 中的秒数过后停止。 默认值为 FALSE

wTimeLimit

捕获的时间限制(以秒为单位)。 仅当 fLimitEnabledTRUE 时,才使用此参数。

fMCIControl

MCI 设备捕获标志。 如果此成员为 TRUE,AVICap 在流式捕获期间控制与 MCI 兼容的视频源。 与 MCI 兼容的视频源包括 VCR 和激光磁盘。

fStepMCIDevice

MCI 设备步骤捕获标志。 如果此成员为 TRUE,则启用使用 MCI 设备作为视频源的步骤捕获。 如果为 FALSE,则启用使用 MCI 设备的实时捕获。 (如果 fMCIControlFALSE,则忽略此成员。)

dwMCIStartTime

捕获序列的 MCI 设备的起始位置(以毫秒为单位)。 (如果 fMCIControlFALSE,则忽略此成员。)

dwMCIStopTime

捕获序列的 MCI 设备的停止位置(以毫秒为单位)。 当达到内容中的此位置时,捕获结束,MCI 设备停止。 (如果 fMCIControlFALSE,则忽略此成员。)

fStepCaptureAt2x

双分辨率步骤捕获标志。 如果此成员为 TRUE,则捕获硬件以指定分辨率的两倍捕获。 (高度和宽度的分辨率为两倍。)

如果硬件不支持基于硬件的抽取,并且你正在以 RGB 格式捕获,请启用此选项。

wStepCaptureAverageFrames

基于平均样本创建帧时对帧进行采样的次数。 平均值数的典型值为 5。

dwAudioBufferSize

音频缓冲区大小。 如果使用默认值零,则每个缓冲区的大小将是音频的最大 0.5 秒或 10K 字节。

fDisableWriteCache

不在 Win32 应用程序中使用。

AVStreamMaster

指示在写入 AVI 文件时,音频流是否控制时钟。 如果此成员设置为 AVSTREAMMASTER_AUDIO,则音频流被视为主流,并且强制视频流持续时间与音频持续时间匹配。 如果此成员设置为 AVSTREAMMASTER_NONE,则音频和视频流的持续时间可能会有所不同。

注解

WM_CAP_GET_SEQUENCE_SETUP消息或 capCaptureGetSetup 宏用于检索当前捕获参数。 WM_CAP_SET_SEQUENCE_SETUP message 或 capCaptureSetSetup 宏用于设置捕获参数。

WM_CAP_GET_SEQUENCE_SETUP message 或 capCaptureGetSetup 宏用于检索当前捕获参数。 WM_CAP_SET_SEQUENCE_SETUP message 或 capCaptureSetSetup 宏用于设置捕获参数。

要求

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

另请参阅

RegisterHotKey

视频捕获

视频捕获结构

WM_CAP_GET_SEQUENCE_SETUP

WM_CAP_SET_SEQUENCE_SETUP

capCaptureGetSetup

capCaptureSetSetup