共用方式為


範例擷取器篩選

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

注意

[已被取代。 此 API 可能會從未來的 Windows 版本中移除。]

 

範例擷取器篩選準則提供擷取樣本在通過篩選圖形時擷取的方法。 它是具有一個輸入針腳和一個輸出針腳的轉換篩選器。 它會傳遞所有下游未變更的樣本,因此您可以將它插入篩選圖形中,而不需要改變數據流。 接著,您的應用程式可以在 ISampleGrabber 介面上呼叫方法,從篩選中擷取個別的範例。

如果您想要擷取樣本而不轉譯資料,請將範例擷取器篩選準則連接到 Null 轉譯器 篩選準則。

標籤
篩選介面 IBaseFilterISampleGrabber
輸入釘選媒體類型 任何媒體類型。
輸入針腳介面 IMemInputPinIPinIQualityControl
輸出釘選媒體類型 任何媒體類型。 符合輸入媒體類型。
輸出針腳介面 IMediaPositionIMediaSeekingIPinIQualityControl
篩選 CLSID CLSID_SampleGrabber
屬性頁 CLSID 沒有屬性頁。
可執行檔 Qedit.dll
優點 MERIT_DO_NOT_USE
篩選類別 CLSID_LegacyAmFilterCategory

 

備註

若要使用此篩選,請將它新增至篩選圖形,並使用所需的媒體類型呼叫 ISampleGrabber::SetMediaType 。 這個方法會指定篩選準則輸入和輸出針腳連接的媒體類型。 然後將篩選準則連接到圖形中的其他篩選。

如果您以TRUE值呼叫ISampleGrabber::SetBufferSamples,篩選準則會先緩衝處理它收到的每個樣本,再傳遞下游。 呼叫 ISampleGrabber::GetCurrentBuffer 方法來擷取緩衝區的目前內容。 或者,您可以呼叫 ISampleGrabber::SetCallback ,讓篩選在收到範例時叫用回呼函式。

篩選準則對於視訊格式有下列限制:

  • 它不支援具有由上而下方向的視訊類型, (負 biHeight) 。
  • 它不支援 VIDEOINFOHEADER2 格式結構, (格式類型等於 FORMAT_VideoInfo2)
  • 它會拒絕表面步進不符合視訊寬度的任何視訊類型。

因此,範例擷取器不會連線到某些視訊類型的影片混合轉譯器 (VMR) 。

規格需求

需求
標頭
Qedit.h

另請參閱

DirectShow Editing Services 物件

使用範例擷取器