iMediaFilter::Run 方法 (strmif.h)

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

方法會 Run 執行篩選。

語法

HRESULT Run(
  REFERENCE_TIME tStart
);

參數

tStart

對應至數據流時間 0 的參考時間。

傳回值

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

傳回碼 Description
S_FALSE
轉換未完成。
S_OK
成功。 轉換已完成。

備註

篩選執行時,它可以接收、處理和傳遞範例。 來源篩選會產生新的樣本,而轉譯器篩選會轉譯它們。

狀態轉換可能是異步的。 如果方法在轉換完成之前傳回,則會S_FALSE傳回值。

Stream 時間會計算為目前的參考時間減去 tStart。 若要計算何時應該轉譯媒體範例,轉譯器會比較時間戳與目前的數據流時間。 因此,應該在 tStart 時呈現時間戳為零的媒體範例。 如需詳細資訊,請參閱 DirectShow 中的時間和時鐘

當應用程式呼叫 IMediaControl::Run 方法時,篩選圖形管理員會在每個篩選上呼叫 IMediaFilter::Run 。 它會在未來稍微設定 tStart 的值,以考慮圖形延遲。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

錯誤和成功碼

IMediaFilter 介面