IMediaSeeking::GetCurrentPosition 方法 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
方法會 GetCurrentPosition
擷取相對於數據流總持續時間的目前位置。
語法
HRESULT GetCurrentPosition(
[out] LONGLONG *pCurrent
);
參數
[out] pCurrent
接收目前位置之變數的指標,以目前時間格式的單位為單位。
傳回值
傳回 HRESULT 值。 可能的值如下。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
不支援方法。 |
|
NULL 指標自變數。 |
備註
這個方法會傳回已達到播放的目前位置。 值包括播放速率和開始時間的調整。 例如,如果開始時間是 5 秒,則播放速率為 2.0,而您執行圖形四秒,則目前位置為 5 + (4 x 2.0) = 13.0 秒。
傳回的值是以目前時間格式的單位表示。 若要判斷目前的時間格式,請呼叫 GetTimeFormat 方法。
如果圖表已暫停或停止,則目前的位置是播放繼續的點。
Filter Graph 管理員會計算目前數據流時間的位置;它不會查詢圖表中的篩選。 針對檔案播放,這會產生精確的結果,因為播放會同步至數據流時間。 針對檔案寫入,結果不正確。 若要取得檔案寫入圖形中的目前位置,請查詢多任務器篩選條件。 (位置與實時擷取無關,不過。)
傳回的值是以目前時間格式表示。 默認時間格式REFERENCE_TIME單位 ( 100 奈秒) 。 若要變更時間格式,請使用 IMediaSeeking::SetTimeFormat 方法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |
程式庫 | Strmiids.lib |