iMediaSeeking 介面 (strmif.h)
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
IMediaSeeking
介面包含搜尋數據流內位置的方法,以及設定播放速率的方法。 Filter Graph 管理員會公開此介面,因此會公開個別篩選或釘選。 應用程式應該查詢介面的 Filter Graph Manager。
Filter Graph 管理員會將任何 IMediaSeeking
呼叫散發給圖形中的每個轉譯器篩選。 轉譯器篩選器會將呼叫上游傳送至來源篩選條件。 此事件序列可確保所有資料流保持同步。 如果任何分散式呼叫傳回錯誤,即使某些分散式呼叫成功,Filter Graph 管理員還是會傳回它收到的第一個錯誤值。 例外狀況是E_NOTIMPL:除非所有分散式呼叫傳回篩選圖形管理員,否則不會傳回E_NOTIMPL。
應用程式可以在圖形處於任何狀態時搜尋圖形, (執行、暫停或停止) 。 如果圖表正在執行,篩選圖形管理員會在發出 seek 命令之前暫停圖形。 然後再次執行圖形。 所有搜尋作業都與目前的播放速率無關。 搜尋作業會導致從圖形排清任何擱置的媒體數據。
對於指定時間的所有 IMediaSeeking
參數,時間單位取決於目前的時間格式。 若要設定時間格式,請呼叫 IMediaSeeking::SetTimeFormat 方法。 時間格式是全域唯一標識符, (GUID) 定義於 uuids.h 中。 如需詳細資訊,請參閱 時間格式 GUID。
繼承
IMediaSeeking 介面繼承自 IUnknown 介面。 IMediaSeeking 也有下列類型的成員:
方法
IMediaSeeking 介面具有這些方法。
IMediaSeeking::CheckCapabilities CheckCapabilities 方法會查詢數據流是否具有指定的搜尋功能。 |
IMediaSeeking::ConvertTimeFormat ConvertTimeFormat 方法會從一個時間格式轉換為另一個格式。 |
IMediaSeeking::GetAvailable GetAvailable 方法會擷取搜尋有效率的時間範圍。 |
IMediaSeeking::GetCapabilities GetCapabilities 方法會擷取數據流的所有搜尋功能。 |
IMediaSeeking::GetCurrentPosition GetCurrentPosition 方法會擷取相對於數據流總持續時間的目前位置。 |
IMediaSeeking::GetDuration GetDuration 方法會取得數據流的持續時間。 |
IMediaSeeking::GetPositions GetPositions 方法會擷取相對於數據流總持續時間的目前位置和停止位置。 |
IMediaSeeking::GetPreroll GetPreroll 方法會擷取將在開始位置之前排入佇列的數據量。 |
IMediaSeeking::GetRate GetRate 方法會擷取播放速率。 |
IMediaSeeking::GetStopPosition GetStopPosition 方法會擷取相對於數據流持續時間停止播放的時間。 |
IMediaSeeking::GetTimeFormat GetTimeFormat 方法會擷取目前用於搜尋作業的時間格式。 |
IMediaSeeking::IsFormatSupported IsFormatSupported 方法會判斷搜尋作業是否支援指定的時間格式。 |
IMediaSeeking::IsUsingTimeFormat IsUsingTimeFormat 方法會判斷搜尋作業目前是否使用指定的時間格式。 |
IMediaSeeking::QueryPreferredFormat QueryPreferredFormat 方法會擷取搜尋的慣用時間格式。 |
IMediaSeeking::SetPositions SetPositions 方法會設定目前的位置和停止位置。 |
IMediaSeeking::SetRate SetRate 方法會設定播放速率。 |
IMediaSeeking::SetTimeFormat SetTimeFormat 方法會設定後續搜尋作業的時間格式。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |