Partager via


Boîtes de dialogue Afficher la capture VFW

[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.]

Un périphérique de capture qui utilise toujours un pilote Vidéo pour Windows (VFW) peut prendre en charge l’une des trois boîtes de dialogue suivantes, qui sont utilisées pour configurer l’appareil.

Boîte de dialogue Description
Source de la vidéo Permet de sélectionner l’entrée vidéo et d’ajuster les paramètres de l’appareil, tels que la luminosité ou le contraste de l’image.
Format vidéo Permet de sélectionner les dimensions et la profondeur de bits de l’image.
Affichage de la vidéo Permet de contrôler l’apparence de la vidéo rendue.

 

Pour afficher l’une de ces boîtes de dialogue, procédez comme suit :

  1. Arrêtez le graphique de filtre.
  2. Interrogez le filtre de capture pour l’interface IAMVfwCaptureDialogs . Si QueryInterface réussit, cela signifie que l’appareil de capture est un appareil VFW.
  3. Appelez IAMVfwCaptureDialogs::HasDialog pour case activée si le pilote prend en charge la boîte de dialogue que vous souhaitez afficher. L’énumération VfwCaptureDialogs définit des indicateurs pour chacune des boîtes de dialogue VFW. HasDialog retourne S_OK si la boîte de dialogue est prise en charge. Il retourne S_FALSE sinon, de sorte que case activée pour la valeur S_OK directement, plutôt que d’utiliser la macro SUCCEEDED.
  4. Si la boîte de dialogue est prise en charge, appelez IAMVfwCaptureDialogs::ShowDialog pour afficher la boîte de dialogue.
  5. Redémarrez le graphique.

Le code suivant illustre ces étapes pour la boîte de dialogue Source vidéo :

pControl->Stop(); // Stop the graph.

// Query the capture filter for the IAMVfwCaptureDialogs interface.
IAMVfwCaptureDialogs *pVfw = 0;
hr = pCap->QueryInterface(IID_IAMVfwCaptureDialogs, (void**)&pVfw);
if (SUCCEEDED(hr))
{
    // Check if the device supports this dialog box.
    if (S_OK == pVfw->HasDialog(VfwCaptureDialog_Source))
    {
        // Show the dialog box.
        hr = pVfw->ShowDialog(VfwCaptureDialog_Source, hwndParent);
    }
}
pControl->Run();

Configuration d’un appareil de capture vidéo