CAPTUREPARMS 結構 (vfw.h)

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,則擷取硬體會以兩次指定的解析度擷取。 (高度和寬度的解析度為 doubled.)

如果硬體不支援以硬體為基礎的遞減,而且您是以 RGB 格式擷取,請啟用此選項。

wStepCaptureAverageFrames

根據平均樣本建立框架時,框架取樣的次數。 平均值數目的一般值為5。

dwAudioBufferSize

音訊緩衝區大小。 如果使用零的預設值,則每個緩衝區的大小將會是音訊或 10K 位元組的最大值 0.5 秒。

fDisableWriteCache

在 Win32 應用程式中未使用。

AVStreamMaster

指出音訊數據流在寫入 AVI 檔案時是否控制時鐘。 如果這個成員設定為 AVSTREAMMASTER_AUDIO,音訊串流會被視為主串流,而且視訊串流持續時間會強制符合音訊持續時間。 如果此成員設定為AVSTREAMMASTER_NONE,音訊和視訊串流的持續時間可能會有所不同。

備註

WM_CAP_GET_SEQUENCE_SETUP訊息或 capCaptureGetSetup 宏可用來擷取目前的擷取參數。 WM_CAP_SET_SEQUENCE_SETUP訊息或 capCaptureSetup 宏可用來設定擷取參數。

WM_CAP_GET_SEQUENCE_SETUP訊息或 capCaptureGetSetup 宏可用來擷取目前的擷取參數。 WM_CAP_SET_SEQUENCE_SETUP訊息或 capCaptureSetup 宏可用來設定擷取參數。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 vfw.h

另請參閱

RegisterHotKey

視訊

視訊擷取結構

WM_CAP_GET_SEQUENCE_SETUP

WM_CAP_SET_SEQUENCE_SETUP

capCaptureGetSetup

capCaptureSetSetup