尋求

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

篩選透過 IMediaSeeking 介面搜尋的支援。 應用程式會查詢 適用于 IMediaSeeking 的 Filter Graph Manager,並使用它發出搜尋命令。 篩選圖表管理員會將每個搜尋命令散發至圖形中的所有轉譯器篩選。 每個轉譯器都會透過上游篩選的輸出針腳傳遞命令,直到到達可執行搜尋的篩選準則為止。 一般而言,來源篩選或剖析器篩選準則,例如 AVI 分割器,會執行搜尋作業。

當篩選執行搜尋作業時,它會排清任何擱置的資料。 結果是將搜尋命令的延遲降到最低,因為現有的資料會從圖形排清。 搜尋命令之後,串流時間會重設為零。

下圖說明事件的順序。

事件序列

如果剖析器篩選有一個以上的輸出針腳,它通常會指定其中一個來接受搜尋命令。 其他針腳會拒絕或忽略他們收到的任何搜尋命令。 如此一來,剖析器就會讓其所有資料流程保持同步。 不過,所有輸出針腳都應該實作 IMediaSeeking::GetCapabilitiesIMediaSeeking::CheckCapabilities ,以傳回篩選的搜尋功能。 這可確保 Filter Graph 管理員會將正確的值傳回給應用程式。

IMediaPosition介面已被取代為篩選準則。 自動化用戶端仍然需要在 Filter Graph Manager 上使用這個介面,因為 IMediaSeeking 與自動化不相容,但 Filter Graph Manager 會將所有 IMediaPosition 呼叫轉譯為 IMediaSeeking 呼叫。

沖洗

DirectShow 中的時間和時鐘