Partager via


Interface IMediaDet

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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.]

Notes

[Déconseillé. Cette API peut être supprimée des versions ultérieures de Windows.]

 

L’interface IMediaDet récupère des informations sur un fichier multimédia, telles que le nombre de flux et le type de média, la durée et la fréquence d’images de chaque flux. Il contient également des méthodes permettant de récupérer des images individuelles à partir d’un flux vidéo. L’objet Media Detector (MediaDet) expose cette interface.

Pour obtenir des informations sur un fichier à l’aide de cette interface, procédez comme suit :

  1. Créez un instance de l’objet MediaDet en appelant CoCreateInstance. L’ID de classe est CLSID_MediaDet.
  2. Appelez IMediaDet::p ut_Filename pour spécifier le nom du fichier source.
  3. Appelez IMediaDet::get_OutputStreams pour obtenir le nombre de flux de sortie dans la source.
  4. Appelez IMediaDet::p ut_CurrentStream pour spécifier un flux particulier.
  5. Appelez l’une des méthodes suivantes :

Pour récupérer une image vidéo, appelez IMediaDet::GetBitmapBitBits ou IMediaDet::WriteBitmapBitBits. Le cadre retourné est toujours au format RVB 24 bits.

Remarque

N’utilisez pas le même objet MediaDet avec plusieurs fichiers. Pour obtenir des informations ou des images vidéo à partir de plusieurs fichiers, utilisez des instances MediaDet distinctes.

 

L’interface IMediaDet ne prend pas en charge les formats VIDEOINFOHEADER2 . Vous ne pouvez donc pas utiliser cette interface pour obtenir des champs entrelacés ou des informations sur l’entrelacement. En outre, si le décodeur amont prend uniquement en charge VIDEOINFOHEADER2, vous ne pouvez pas utiliser IMediaDet. Cela peut être le cas avec un décodeur MPEG-2, par exemple. En outre, l’interface IMediaDet ignore tous les flux dans le fichier qui ne sont pas vidéo ou audio. Par exemple, si le fichier contient un flux audio, un flux de données et un flux vidéo, la méthode get_OutputStreams ne signale que deux flux (audio et vidéo).

Membres

L’interface IMediaDet hérite de l’interface IUnknown. IMediaDet a également les types de membres suivants :

Méthodes

L’interface IMediaDet possède ces méthodes.

Méthode Description
EnterBitmapGrabMode Bascule le détecteur multimédia en mode de capture bitmap et recherche le graphe de filtre à une heure spécifiée.
get_CurrentStream Récupère le numéro de flux actuellement utilisé par le détecteur multimédia.
get_Filename Récupère le nom du fichier source actuellement utilisé par le détecteur multimédia.
get_Filter Récupère un pointeur vers le filtre source actuellement utilisé par le détecteur de média.
get_FrameRate Récupère la fréquence d’images du flux actuel.
get_OutputStreams Récupère le nombre de flux audio et vidéo contenus dans la source multimédia.
get_StreamLength Récupère la durée du flux actuel.
get_StreamMediaType Récupère le type de média du flux actuel.
get_StreamType Récupère l’identificateur global unique (GUID) pour le type de média du flux actuel.
get_StreamTypeB Récupère une chaîne représentant le GUID du type de média pour le flux actuel.
GetBitmapBitBits Récupère une image vidéo à l’heure du média spécifiée.
GetSampleGrabber Récupère un pointeur vers l’interface ISampleGrabber .
put_CurrentStream Spécifie le numéro de flux que le détecteur multimédia doit utiliser.
put_Filename Spécifie le nom du fichier source que le détecteur multimédia doit utiliser.
put_Filter Spécifie un filtre source pour le détecteur multimédia à utiliser.
WriteBitmapBits Récupère une image vidéo à l’heure du média spécifiée et l’écrit dans un fichier.

 

Notes

Notes

Le fichier d’en-tête Qedit.h n’est pas compatible avec les en-têtes Direct3D ultérieurs à la version 7.

 

Notes

Pour obtenir Qedit.h, téléchargez la mise à jour Microsoft Windows SDK pour Windows Vista et .NET Framework 3.0. Qedit.h n’est pas disponible dans le Microsoft Windows SDK pour Windows 7 et .NET Framework 3.5 Service Pack 1.

 

Configuration requise

Condition requise Valeur
En-tête
Qedit.h
Bibliothèque
Strmiids.lib