共用方式為


CBaseRenderer.GetSampleTimes 方法

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

方法 GetSampleTimes 會從範例擷取時間戳記。

語法

virtual HRESULT GetSampleTimes(
   IMediaSample   *pMediaSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime
);

參數

pMediaSample

範例 IMediaSample 介面的指標。

pStartTime

接收開始時間之變數的指標。

pEndTime

接收結束時間之變數的指標。

傳回值

傳回 HRESULT 值。 可能的值包括下表所示的值。

傳回碼 描述
S_OK
應該立即轉譯範例。
S_FALSE
此範例應根據時間戳記排程轉譯。
E_FAIL
請勿轉譯此範例。
VFW_E_START_TIME_AFTER_END
不正確的時間戳記:結束時間早于開始時間。

備註

篩選準則會呼叫這個方法,以判斷它應該如何處理範例。 如果傳回值S_OK,篩選會立即轉譯樣本。 如果傳回值S_FALSE,篩選會根據時間戳記排程範例進行轉譯。 如果傳回值是錯誤碼,篩選準則會拒絕範例。

如果樣本沒有時間戳記,或篩選沒有參考時鐘,這個方法會傳回S_OK。 否則,它會傳回 CBaseRenderer::ShouldDrawSampleNow 方法的值。 在基類中, ShouldDrawSampleNow 一律會傳回S_FALSE。 衍生類別可以覆寫此行為。 例如,如果衍生類別實作存取控制管理,它可能會傳回E_FAIL來卸載範例。

規格需求

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

另請參閱

CBaseRenderer 類別