共用方式為


CBaseStreamControl 類別

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

cbasestreamcontrol 類別階層

這個類別會實作輸入和輸出針腳的 IAMStreamControl 介面。 它可讓您控制在篩選上啟動和停止個別釘選。 支援 IAMStreamControl 的針腳應該繼承自這個基類。 以下是輸入針腳的一般宣告:

class CMyInputPin : public CBaseInputPin, public CBaseStreamControl

請務必覆寫 NonDelegatingQueryInteface 以公開 IAMStreamControl。 如需詳細資訊,請參閱 如何實作 IUnknown

公用方法 Description
CBaseStreamControl 建構函式方法。
~CBaseStreamControl 解構函式方法。
CheckStreamState 判斷應該傳遞或捨棄媒體範例。
沖洗 通知基類針腳已啟動或停止排清。
NotifyFilterState 在篩選準則的狀態變更時通知針腳。
SetFilterGraph 指定資料流程控制事件的事件接收。
SetSyncSource 通知目前參考時鐘的基類。
IAMStreamControl 方法 Description
GetInfo 擷取目前資料流程控制設定的相關資訊,包括開始和停止時間。
StartAt 通知釘選何時開始傳遞資料。
StopAt 通知釘選何時停止傳遞資料。

備註

這個類別需要針腳和擁有篩選準則,以在發生各種事件時通知類別,例如聯結圖形的篩選或接收新的參考時鐘。 您應該呼叫下列類別方法:

類別 CBaseStreamControl 會使用篩選圖形的參考時鐘來判斷篩選應該傳遞的樣本,以及應該捨棄的樣本。 在釘選的 IMemInputPin::Receive 方法中,使用連入媒體範例的指標呼叫 CBaseStreamControl::CheckStreamState 方法。 如果方法傳回值STREAM_FLOWING,請傳遞範例下游。 否則,請捨棄它。

規格需求

需求
標頭
Strmctl.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)