共用方式為


IVideoWindow::p ut_FullScreenMode 方法 (control.h)

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

方法 put_FullScreenMode 會啟用或停用全螢幕視訊轉譯。

語法

HRESULT put_FullScreenMode(
  [in] long FullScreenMode
);

參數

[in] FullScreenMode

布林值,指定是否要啟用或停用全螢幕模式。 必須為下列其中一個值:

Description
OATRUE 切換至全螢幕模式。
OAFALSE 停用全螢幕模式。 (預設值。)

傳回值

可能的傳回值包括下列各項:

傳回碼 Description
E_NOTIMPL
篩選不支援全螢幕模式。
S_FALSE
已在要求的模式中。
S_OK
成功。
VFW_E_NO_FULLSCREEN
找不到任何支援全螢幕模式的篩選準則。

備註

視訊轉譯器而定,在應用程式執行或暫停圖形之前,可能無法看見切換至全螢幕模式。 在全螢幕模式中,如果使用者從應用程式切換 (例如,使用 ALT + TAB) ,篩選圖形管理員就會傳送 EC_FULLSCREEN_LOST 事件。

下列備註說明篩選圖形管理員如何實作全螢幕模式。 應用程式開發人員可能會忽略這項資訊,但如果您撰寫自訂視訊轉譯器,可能會很有用。

當應用程式切換到全螢幕模式時,篩選圖形管理員會搜尋最有效率運作的視訊轉譯器。 喜好設定的順序如下:

  1. 原生支援全螢幕模式之篩選圖形中的任何視訊轉譯器。
  2. 篩選圖形中的任何視訊轉譯器,都可以將視訊延展至全螢幕,而不會產生顯著的效能成本。
  3. 全螢幕轉譯器篩選。
  4. 支援 IVideoWindow之篩選圖形中的任何視訊轉譯器。
針對第一個選項,Filter Graph 管理員會在圖形中的每個視訊轉譯器上呼叫 IVideoWindow::get_FullScreenMode 。 大部分轉譯器都會傳回E_NOTIMPL,表示篩選原本不支援全螢幕模式。 如果任何轉譯器傳回的值不等於E_NOTIMPL,篩選圖形管理員就會使用該值。

針對第二個選項,Filter Graph 管理員會在圖形中的每個視訊轉譯器上呼叫 IVideoWindow::GetMaxIdealImageSizeGetMinIdealImageSize 。 如果顯示器的大小落在篩選的回報範圍內,表示篩選準則可以延展視訊,而不會產生顯著的效能成本。

注意 如果圖表停止,篩選圖形管理員會在呼叫這些方法之前暫停每個轉譯器。 這可讓轉譯器有機會初始化它所需的任何資源,因為許多轉譯器在停止時無法判斷這些值。
 
除了較舊的硬體之外,第二個選項通常會成功。 第三個選項是使用全螢幕轉譯器篩選,視需要將其新增至圖形。 第四個選項只是在支援 IVideoWindow的圖形中尋找第一個轉譯器,並縮放視訊,而不論效能為何。

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 control.h (包含 Dshow.h)
程式庫 Strmiids.lib

另請參閱

錯誤和成功碼

IVideoWindow 介面

IVideoWindow::get_FullScreenMode