Partager via


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

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La put_FullScreenMode méthode active ou désactive le rendu vidéo en plein écran.

Syntaxe

HRESULT put_FullScreenMode(
  [in] long FullScreenMode
);

Paramètres

[in] FullScreenMode

Valeur booléenne qui spécifie s’il faut activer ou désactiver le mode plein écran. Il doit s’agir de l’une des valeurs suivantes :

Valeur Description
OATRUE Passez en mode plein écran.
OAFALSE Désactivez le mode plein écran. (valeur par défaut).

Valeur renvoyée

Les valeurs de retour possibles sont les suivantes :

Code de retour Description
E_NOTIMPL
Le filtre ne prend pas en charge le mode plein écran.
S_FALSE
Déjà en mode demandé.
S_OK
Opération réussie.
VFW_E_NO_FULLSCREEN
Impossible de trouver un filtre prenant en charge le mode plein écran.

Notes

Selon le convertisseur vidéo, le passage en mode plein écran peut ne pas être visible tant que l’application n’a pas exécuté ou suspendu le graphique. En mode plein écran, si l’utilisateur quitte l’application (par exemple, en utilisant ALT + TAB), le Gestionnaire de graphe de filtre envoie un événement EC_FULLSCREEN_LOST .

Les remarques suivantes décrivent comment le Gestionnaire de graphes de filtre implémente le mode plein écran. Les développeurs d’applications peuvent probablement ignorer ces informations, mais elles peuvent être utiles si vous écrivez un convertisseur vidéo personnalisé.

Lorsqu’une application passe en mode plein écran, le Gestionnaire de graphes de filtre recherche un convertisseur vidéo qui fonctionnera le plus efficacement. Dans l’ordre de préférence, il s’agit des éléments suivants :

  1. Tout convertisseur vidéo dans le graphique de filtre qui prend en charge le mode plein écran en mode natif.
  2. N’importe quel convertisseur vidéo dans le graphique de filtre qui peut étendre la vidéo en plein écran sans coût de performances important.
  3. Filtre renderer plein écran .
  4. Tout convertisseur vidéo dans le graphique de filtre qui prend en charge IVideoWindow.
Pour la première option, le Gestionnaire de graphe de filtre appelle IVideoWindow::get_FullScreenMode sur chaque convertisseur vidéo du graphe. La plupart des convertisseurs retournent E_NOTIMPL, ce qui indique que le filtre ne prend pas en charge le mode plein écran en mode natif. Si un convertisseur retourne une valeur différente de E_NOTIMPL, le Gestionnaire de graphe de filtres l’utilise.

Pour la deuxième option, le Gestionnaire de graphe de filtre appelle IVideoWindow::GetMaxIdealImageSize et GetMinIdealImageSize sur chaque convertisseur vidéo du graphe. Si la taille de l’affichage se situe dans la plage signalée du filtre, cela indique que le filtre peut étirer la vidéo sans coût de performances important.

Note Si le graphe est arrêté, le Gestionnaire de graphe de filtres met en pause chaque convertisseur avant d’appeler ces méthodes. Cela permet au renderer d’initialiser les ressources dont il a besoin, car de nombreux renderers ne peuvent pas déterminer ces valeurs pendant leur arrêt.
 
Sauf sur du matériel plus ancien, la deuxième option réussit généralement. La troisième option consiste à utiliser le filtre Renderer plein écran, en l’ajoutant au graphique si nécessaire. La quatrième option consiste simplement à rechercher le premier convertisseur dans le graphique qui prend en charge IVideoWindow et à étirer la vidéo quelles que soient les performances.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête control.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IVideoWindow, interface

IVideoWindow::get_FullScreenMode