範例擷取器篩選
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
注意
[已被取代。 此 API 可能會從未來的 Windows 版本中移除。]
範例擷取器篩選準則提供擷取樣本在通過篩選圖形時擷取的方法。 它是具有一個輸入針腳和一個輸出針腳的轉換篩選器。 它會傳遞所有下游未變更的樣本,因此您可以將它插入篩選圖形中,而不需要改變數據流。 接著,您的應用程式可以在 ISampleGrabber 介面上呼叫方法,從篩選中擷取個別的範例。
如果您想要擷取樣本而不轉譯資料,請將範例擷取器篩選準則連接到 Null 轉譯器 篩選準則。
標籤 | 值 |
---|---|
篩選介面 | IBaseFilter、 ISampleGrabber |
輸入釘選媒體類型 | 任何媒體類型。 |
輸入針腳介面 | IMemInputPin、 IPin、 IQualityControl |
輸出釘選媒體類型 | 任何媒體類型。 符合輸入媒體類型。 |
輸出針腳介面 | IMediaPosition、 IMediaSeeking、 IPin、 IQualityControl |
篩選 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) 。
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱