Partager via


Interface IAMStreamControl (strmif.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.]

L’interface IAMStreamControl contrôle des flux individuels sur un filtre. Les épingles sur certains filtres exposent cette interface. Par exemple, le filtre AVI Mux prend en charge cette interface sur ses broches d’entrée, et le filtre de capture audio et le filtre de capture vidéo WDM la prennent en charge sur leurs broches de sortie.

Cette interface permet à une application d’activer et de désactiver des flux à des heures spécifiées. Par exemple, une application peut désactiver un flux audio pour désactiver le son pendant l’aperçu vidéo. Les applications de capture peuvent utiliser cette interface pour spécifier des heures de démarrage et d’arrêt exactes pour la capture, et pour contrôler les flux de capture et d’aperçu indépendamment les uns des autres.

Pour utiliser cette interface, appelez la méthode IAMStreamControl::StartAt pour spécifier quand l’épingle va commencer à remettre des données, et la méthode IAMStreamControl::StopAt pour spécifier quand elle arrêtera la remise des données. Appelez ensuite IMediaControl::Run sur le Gestionnaire de graphe de filtres pour exécuter le graphique de filtre. Toutes les heures sont relatives au moment où le graphique commence à s’exécuter.

Lorsque vous utilisez cette interface, tenez compte des limitations suivantes :

  • Il doit y avoir une horloge de référence dans le graphique de filtre.
  • Les broches d’aperçu sur les cartes de capture avec superposition matérielle ne prennent pas en charge cette interface.
  • Si vous capturez de l’audio et de la vidéo dans un fichier AVI entrelacé, le filtre AVI Mux nécessite les deux flux de données. Si vous arrêtez un flux, le filtre ne peut pas entrelacer les données. Pour plus d’informations, consultez IConfigInterleaving Interface.
Selon l’application, vous pouvez trouver la méthode ICaptureGraphBuilder2::ControlStream plus pratique, car elle prend en charge le contrôle de flux au niveau du graphique, de sorte que vous n’avez pas à énumérer les filtres et les broches individuels.

Filtrer les développeurs : la classe de base CBaseStreamControl implémente cette interface.

Héritage

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

Méthodes

L’interface IAMStreamControl a ces méthodes.

 
IAMStreamControl::GetInfo

La méthode GetInfo récupère des informations sur les paramètres actuels de contrôle de flux, y compris les heures de début et d’arrêt.
IAMStreamControl::StartAt

La méthode StartAt indique à l’épingle quand commencer à remettre des données.
IAMStreamControl::StopAt

La méthode StopAt indique à l’épingle quand arrêter la remise des données.

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 strmif.h (include Dshow.h)

Voir aussi

CBaseStreamControl, classe

Codes d’erreur et de réussite