IVideoWindow 介面 (control.h)
[與此頁面 相關的功能 DirectShow 是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft 強烈建議新程式代碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式代碼,以使用新的 API。]
介面 IVideoWindow
會在視訊視窗上設定屬性。 應用程式可以使用它來設定視窗擁有者、視窗的位置和維度,以及其他屬性。
在大部分情況下,應用程式應該查詢此介面的 Filter Graph 管理員,而不會直接呼叫篩選,因為剛才描述的傳訊問題。 不過,如果篩選圖表有多個影片轉譯器,篩選圖形管理員只會與其中一個轉譯器通訊,並任意選取。 因此,如果您的應用程式使用多個視訊視窗,請 IVideoWindow
直接在篩選上使用 介面。 在此情況下,您必須使用 IVideoWindow::NotifyOwnerMessage 方法,將視窗訊息轉送至每個影片轉譯器實例。
若要防止視訊視窗在重新繪製期間閃爍,請覆寫 WM_ERASEBKGND 訊息的默認處理,且不會清除視窗。 (針對 MFC 應用程式,請使用空的 handler.) 覆寫 CWnd::OnEraseBkgnd
視訊轉譯器上設定的屬性會在連續連接與中斷連線之間持續存在。
由於此介面與自動化相容,因此所有布爾值都會定義為 OAFALSE (0) 和 OATRUE (–1) 。
錯誤碼: 如果視訊轉譯器篩選未連接到另一個篩選,所有方法都會傳回錯誤碼VFW_E_NOT_CONNECTED。 對於 Filter Graph Manager 的實作,如果圖表不包含視訊轉譯器篩選,則所有方法都會傳回E_NOINTERFACE。 請注意,即使圖形不包含視訊轉譯器,篩選圖形管理員也會公開介面,因此應用程式可以在建置圖形之前查詢介面。
篩選開發人員: 您可以使用 CBaseVideoWindow 類別來協助實作此介面。
繼承
IVideoWindow 介面繼承自 IDispatch 介面。 IVideoWindow 也有下列類型的成員:
方法
IVideoWindow 介面具有這些方法。
IVideoWindow::get_AutoShow get_AutoShow方法會查詢視訊轉譯器在接收視訊數據時是否自動顯示視訊視窗。 |
IVideoWindow::get_BackgroundPalette get_BackgroundPalette方法會查詢視訊視窗是否在背景中實現其調色盤。 |
IVideoWindow::get_BorderColor get_BorderColor方法會擷取出現在目的地矩形邊緣周圍的色彩。 |
IVideoWindow::get_Caption get_Caption 方法會擷取視訊視窗 標題。 |
IVideoWindow::get_FullScreenMode get_FullScreenMode方法會查詢視訊轉譯器是否處於全螢幕模式。 |
IVideoWindow::get_Height get_Height 方法會擷取視訊視窗的高度。 |
IVideoWindow::get_Left get_Left 方法會擷取視訊視窗的 X 軸座標。 |
IVideoWindow::get_MessageDrain get_MessageDrain 方法會擷取從視訊視窗接收滑鼠和鍵盤訊息的視窗,如果有的話。 |
IVideoWindow::get_Owner 如果有的話,get_Owner方法會擷取視訊視窗的父視窗。 |
IVideoWindow::get_Top get_Top 方法會擷取視訊視窗的 Y 座標。 |
IVideoWindow::get_Visible get_Visible方法會查詢影片視窗是否可見。 |
IVideoWindow::get_Width get_Width 方法會擷取視訊視窗的寬度。 |
IVideoWindow::get_WindowState get_WindowState方法會查詢視訊視窗是可見、隱藏、最小化還是最大化。 |
IVideoWindow::get_WindowStyle get_WindowStyle 方法會擷取視訊視窗上的視窗樣式。 |
IVideoWindow::get_WindowStyleEx get_WindowStyleEx 方法會擷取視訊視窗上的擴充窗口樣式。 |
IVideoWindow::GetMaxIdealImageSize GetMaxIdealImageSize 方法會擷取視訊影像的理想影像大小上限。 |
IVideoWindow::GetMinIdealImageSize GetMinIdealImageSize 方法會擷取視訊影像的理想大小下限。 |
IVideoWindow::GetRestorePosition GetRestorePosition 方法會擷取還原的視窗位置。 |
IVideoWindow::GetWindowPosition GetWindowPosition 方法會擷取視訊視窗的位置。 |
IVideoWindow::HideCursor HideCursor 方法會在滑鼠放在視訊視窗上方時顯示或隱藏游標。 |
IVideoWindow::IsCursorHidden IsCursorHidden 方法會查詢數據指標是否隱藏。 |
IVideoWindow::NotifyOwnerMessage NotifyOwnerMessage 方法會將訊息轉送至視訊視窗。 |
IVideoWindow::p ut_AutoShow put_AutoShow 方法會指定視訊轉譯器在接收視訊數據時是否自動顯示視訊視窗。 |
IVideoWindow::p ut_BackgroundPalette put_BackgroundPalette 方法會指定視訊視窗是否在背景實現其調色盤。 |
IVideoWindow::p ut_BorderColor put_BorderColor 方法會設定出現在目的地矩形邊緣周圍的色彩。 |
IVideoWindow::p ut_Caption put_Caption方法會設定視訊視窗 標題。 |
IVideoWindow::p ut_FullScreenMode put_FullScreenMode 方法會啟用或停用全螢幕視訊轉譯。 |
IVideoWindow::p ut_Height put_Height方法會設定視訊視窗的高度。 |
IVideoWindow::p ut_Left put_Left 方法會設定視訊視窗的 X 座標。 |
IVideoWindow::p ut_MessageDrain put_MessageDrain 方法會指定要從視訊視窗接收滑鼠和鍵盤訊息的視窗。 |
IVideoWindow::p ut_Owner put_Owner 方法會指定視訊視窗的父視窗。 |
IVideoWindow::p ut_Top put_Top方法會指定視訊視窗的 Y 座標。 |
IVideoWindow::p ut_Visible put_Visible 方法會顯示或隱藏視訊視窗。 |
IVideoWindow::p ut_Width put_Width方法會指定視訊視窗的寬度。 |
IVideoWindow::p ut_WindowState put_WindowState方法會顯示、隱藏、最小化或最大化視訊視窗。 |
IVideoWindow::p ut_WindowStyle put_WindowStyle方法會設定視訊視窗上的視窗樣式。 |
IVideoWindow::p ut_WindowStyleEx put_WindowStyleEx 方法會設定視訊視窗上的擴充窗口樣式。 |
IVideoWindow::SetWindowForeground SetWindowForeground 方法會將視訊視窗放在 Z 順序的頂端。 |
IVideoWindow::SetWindowPosition SetWindowPosition 方法會設定視訊視窗的位置。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | control.h (包含 Dshow.h) |