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
捕获的时间限制(以秒为单位)。 仅当 fLimitEnabled 为 TRUE 时,才使用此参数。
fMCIControl
MCI 设备捕获标志。 如果此成员为 TRUE,AVICap 在流式捕获期间控制与 MCI 兼容的视频源。 与 MCI 兼容的视频源包括 VCR 和激光磁盘。
fStepMCIDevice
MCI 设备步骤捕获标志。 如果此成员为 TRUE,则启用使用 MCI 设备作为视频源的步骤捕获。 如果为 FALSE,则启用使用 MCI 设备的实时捕获。 (如果 fMCIControl 为 FALSE,则忽略此成员。)
dwMCIStartTime
捕获序列的 MCI 设备的起始位置(以毫秒为单位)。 (如果 fMCIControl 为 FALSE,则忽略此成员。)
dwMCIStopTime
捕获序列的 MCI 设备的停止位置(以毫秒为单位)。 当达到内容中的此位置时,捕获结束,MCI 设备停止。 (如果 fMCIControl 为 FALSE,则忽略此成员。)
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 |
另请参阅
视频捕获