共用方式為


查詢尋找功能

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

Microsoft® DirectShow® 支援透過 IMediaSeeking 介面進行搜尋。 Filter Graph 管理員會公開此介面,但搜尋功能一律由圖表中的篩選實作。

無法搜尋某些數據。 例如,您無法從相機搜尋即時視訊串流。 不過,如果可搜尋數據流,則可能會支援各種不同的搜尋類型。 包括:

  • 在數據流中尋找任意位置。
  • 擷取數據流的持續時間。
  • 擷取數據流中目前的位置。
  • 反向播放。

IMediaSeeking 介面會定義一組旗標,AM_SEEKING_SEEKING_CAPABILITIES,描述可能的搜尋功能。 若要擷取數據流的功能,請呼叫 IMediaSeeking::GetCapabilities 方法。 方法會傳回旗標的位元組合。 應用程式可以使用 & (位 AND) 運算子來測試它們。 例如,下列程式代碼會檢查圖形是否可以搜尋任意位置:

DWORD dwCap = 0;
HRESULT hr = pSeek->GetCapabilities(&dwCap);
if (AM_SEEKING_CanSeekAbsolute & dwCap)
{
    // Graph can seek to absolute positions.
}