Compartilhar via


Método IVideoWindow::p ut_FullScreenMode (control.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O put_FullScreenMode método habilita ou desabilita a renderização de vídeo em tela inteira.

Sintaxe

HRESULT put_FullScreenMode(
  [in] long FullScreenMode
);

Parâmetros

[in] FullScreenMode

Valor booliano que especifica se o modo de tela inteira deve ser habilitado ou desabilitado. Deve ser um dos seguintes valores:

Valor Descrição
OATRUE Alterne para o modo de tela inteira.
OAFALSE Desabilitar o modo de tela inteira. (Padrão.)

Retornar valor

Os possíveis valores retornados incluem o seguinte:

Código de retorno Descrição
E_NOTIMPL
O filtro não dá suporte ao modo de tela inteira.
S_FALSE
Já no modo solicitado.
S_OK
Êxito.
VFW_E_NO_FULLSCREEN
Não foi possível encontrar nenhum filtro que dê suporte ao modo de tela inteira.

Comentários

Dependendo do renderizador de vídeo, a opção para o modo de tela inteira pode não ficar visível até que o aplicativo execute ou pause o grafo. No modo de tela inteira, se o usuário se afastar do aplicativo (por exemplo, usando ALT + TAB), o Gerenciador de Grafo de Filtro enviará um evento EC_FULLSCREEN_LOST .

As observações a seguir descrevem como o Gerenciador de Grafo de Filtro implementa o modo de tela inteira. Os desenvolvedores de aplicativos provavelmente podem ignorar essas informações, mas pode ser útil se você estiver escrevendo um renderizador de vídeo personalizado.

Quando um aplicativo muda para o modo de tela inteira, o Gerenciador de Grafo de Filtro pesquisa um renderizador de vídeo que funcionará com mais eficiência. Em ordem de preferência, estes são:

  1. Qualquer renderizador de vídeo no grafo de filtro que dê suporte nativo ao modo de tela inteira.
  2. Qualquer renderizador de vídeo no grafo de filtro que possa estender o vídeo para tela inteira sem um custo de desempenho significativo.
  3. O filtro Renderizador de Tela Inteira .
  4. Qualquer renderizador de vídeo no grafo de filtro que dê suporte a IVideoWindow.
Para a primeira opção, o Gerenciador de Grafo de Filtro chama IVideoWindow::get_FullScreenMode em cada renderizador de vídeo no grafo. A maioria dos renderizadores retorna E_NOTIMPL, indicando que o filtro não dá suporte nativo ao modo de tela inteira. Se qualquer renderizador retornar um valor não igual a E_NOTIMPL, o Gerenciador de Grafo de Filtro usará esse.

Para a segunda opção, o Gerenciador de Grafo de Filtro chama IVideoWindow::GetMaxIdealImageSize e GetMinIdealImageSize em cada renderizador de vídeo no grafo. Se o tamanho da exibição estiver dentro do intervalo relatado do filtro, isso indicará que o filtro pode esticar o vídeo sem um custo de desempenho significativo.

Nota Se o grafo for interrompido, o Gerenciador de Grafo de Filtro pausará cada renderizador antes de chamar esses métodos. Isso dá ao renderizador a oportunidade de inicializar todos os recursos necessários, pois muitos renderizadores não podem determinar esses valores enquanto são interrompidos.
 
Exceto no hardware mais antigo, a segunda opção geralmente terá êxito. A terceira opção é usar o filtro Renderizador de Tela Inteira, adicionando-o ao grafo, se necessário. A quarta opção é simplesmente encontrar o primeiro renderizador no grafo que dá suporte a IVideoWindow e esticar o vídeo independentemente do desempenho.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho control.h (inclua Dshow.h)
Biblioteca Strmiids.lib

Confira também

Códigos de erro e êxito

IVideoWindow Interface

IVideoWindow::get_FullScreenMode