共用方式為


CPullPin.Receive 方法

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

Receive 物件從輸出釘選收到媒體範例時,會呼叫 方法。 衍生類別必須實作這個方法。

語法

virtual HRESULT Receive(
   IMediaSample *pSample
) = 0;

參數

pSample

媒體範例之 IMediaSample 介面的指標。

傳回值

傳回 HRESULT 值。 傳回S_OK以外的值將會停止資料提取執行緒。

備註

每當新的樣本從輸出針腳抵達時,就會呼叫這個方法。 以與 IMemInputPin::Receive 方法相同的方式撰寫這個方法。

範例上的時間戳記會指定位元組位移,相對於 CPullPin::Seek 方法中指定的原始開始位置。

開始位置會四捨五入至最接近的對齊界限,而停止位置會四捨五入到最接近的對齊界限。 此外,如果停止位置超過總持續時間,則會改用持續時間。

所有時間戳記都會指定為位元組位移乘以 10,000,000,000,定義為常數 UNITS。 因此,概念上一秒是一個位元組。 若要尋找實際的位元組位移,請呼叫 IMediaSample::GetTime ,並將結果除以 UNITS。

規格需求

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

另請參閱

CPullPin 類別