IOverlay 介面 (strmif.h)
[與此頁面相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式代碼盡可能重寫為使用新的 API。
IOverlay
介面提供資訊,讓篩選條件可以直接寫入視訊記憶體,同時將視訊放在正確的視窗位置。 它會在視訊轉譯器的輸入針腳上實作,並與上游篩選 (通常是視訊解壓縮器) ,方法是呼叫該篩選的 IOverlayNotify 方法來通知它對視訊視窗的變更。
此介面與 DirectDraw® 重疊功能沒有關聯性。 Microsoft 影片轉譯器會在可用時使用 DirectDraw 重疊,透過 IMemInputPin 介面來繪製它收到的數據。 這個介面是用來取代 IMemInputPin,旨在提供任何略過轉譯器繪圖功能的上游篩選的通知支援,但需要其他顯示屬性的通知。
如需 和 IOverlayNotify 介面如何搭配運作的詳細資訊,IOverlay
請參閱 IOverlayNotify 參考頁面。
如需轉譯視窗變更異步通知的詳細資訊,請參閱 IOverlayNotify2 介面。
此介面會在 Microsoft® DirectShow® 影片轉譯器篩選上實作。 如有需要,也可以在取代視訊轉譯器篩選上實作。 如果這樣做,請實作此介面,以便篩選直接寫入框架緩衝區,或嘗試放置重疊知道顯示其視訊的位置。 若要實作此介面,轉譯器必須準備好在 IOverlayNotify 介面或執行繪圖之篩選的 IOverlayNotify2 介面上使用方法,並通知視訊屬性變更。
DirectShow 中的視窗型轉譯器同時支援 IMemInputPin 和 IOverlay 介面。 這兩個介面互斥。 篩選條件會選擇使用 IOverlay 傳輸,方法是在連線期間提供具有子類型MEDIASUBTYPE_Overlay的媒體類型。 連線之後,它就能夠成功 IOverlay
取得及使用 介面。 如果它與任何其他視訊格式 (連線,例如MEDIASUBTYPE_RGB8) ,則嘗試透過 IOverlay
傳回呼叫 VFW_E_NOT_OVERLAY_CONNECTION。
從上游篩選條件使用此函式的方法,該篩選條件必須控制視訊重疊屬性,並想要處理視訊數據本身的顯示。 這通常是由具有視訊硬體替代連線的硬體視訊譯碼器使用。
繼承
IOverlay 介面繼承自 IUnknown 介面。 IOverlay 也有下列類型的成員:
方法
IOverlay 介面具有這些方法。
IOverlay::建議 建議方法會為 dwInterests 參數所指定的重疊事件設定建議連結。 |
IOverlay::GetClipList GetClipList 方法會擷取裁剪清單。 |
IOverlay::GetColorKey GetColorKey 方法會擷取用於 chroma 索引鍵的目前色彩索引鍵。 |
IOverlay::GetDefaultColorKey GetDefaultColorKey 方法會擷取用於色碼重疊的預設色彩索引鍵。 |
IOverlay::GetPalette GetPalette 方法會擷取目前的系統選擇區。 |
IOverlay::GetVideoPosition GetVideoPosition 方法會擷取目前的視訊來源和目的地矩形。 |
IOverlay::GetWindowHandle GetWindowHandle 方法會擷取目前的視窗句柄。 |
IOverlay::SetColorKey SetColorKey 方法會變更色彩索引鍵。 |
IOverlay::SetPalette SetPalette 方法會設定調色盤。 |
IOverlay::Unadvise Unadvise 方法會終止以 IOverlayNotify 介面建立的建議連結。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | strmif.h (包含 Dshow.h) |