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
擷取的時間限制,以秒為單位。 只有當 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,則擷取硬體會以兩次指定的解析度擷取。 (高度和寬度的解析度為 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 |
另請參閱
視訊