CBaseRenderer.GetSampleTimes 方法
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 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,篩選會根據時間戳記排程範例進行轉譯。 如果傳回值是錯誤碼,篩選準則會拒絕範例。
如果樣本沒有時間戳記,或篩選沒有參考時鐘,這個方法會傳回S_OK。 否則,它會傳回 CBaseRenderer::ShouldDrawSampleNow 方法的值。 在基類中, ShouldDrawSampleNow 一律會傳回S_FALSE。 衍生類別可以覆寫此行為。 例如,如果衍生類別實作存取控制管理,它可能會傳回E_FAIL來卸載範例。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|