Interface IMediaSeeking (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 IMediaSeeking contient des méthodes permettant de rechercher une position dans un flux et de définir la vitesse de lecture. Le Gestionnaire de graphe de filtres expose cette interface, tout comme les filtres ou les broches individuels. Les applications doivent interroger le Gestionnaire de graphe de filtres pour l’interface.

Le Gestionnaire de graphe de filtre distribue tout IMediaSeeking appel à chacun des filtres de renderer dans le graphe. Les filtres de convertisseur envoient les amont d’appel aux filtres sources. Cette séquence d’événements garantit que tous les flux restent synchronisés. Si l’un des appels distribués retourne une erreur, le Gestionnaire de graphe de filtres retourne la première valeur d’erreur qu’il a reçue, même si certains des appels distribués réussissent. Une exception est E_NOTIMPL : le Gestionnaire de graphiques de filtres ne retourne pas E_NOTIMPL, sauf s’il a été retourné par tous les appels distribués.

Une application peut rechercher le graphe alors que le graphe est dans n’importe quel état (en cours d’exécution, suspendu ou arrêté). Si le graphe est en cours d’exécution, le Gestionnaire de graphe de filtre suspend le graphe avant d’exécuter la commande seek. Ensuite, il exécute à nouveau le graphique. Toutes les opérations de recherche sont indépendantes du taux de lecture actuel. Les opérations de recherche entraînent le vidage des données multimédias en attente à partir du graphique.

Pour tous les IMediaSeeking paramètres qui spécifient l’heure, l’unité de temps dépend du format d’heure actuel. Pour définir le format d’heure, appelez la méthode IMediaSeeking ::SetTimeFormat . Les formats de temps sont des identificateurs globaux uniques (GUID) définis dans uuids.h. Pour plus d’informations, consultez GUID de format d’heure.

Héritage

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

Méthodes

L’interface IMediaSeeking a ces méthodes.

 
IMediaSeeking ::CheckCapabilities

La méthode CheckCapabilities interroge si un flux a spécifié des fonctionnalités de recherche.
IMediaSeeking ::ConvertTimeFormat

La méthode ConvertTimeFormat convertit d’un format de temps en un autre.
IMediaSeeking ::GetAvailable

La méthode GetAvailable récupère la plage d’heures pendant lesquelles la recherche est efficace.
IMediaSeeking ::GetCapabilities

La méthode GetCapabilities récupère toutes les fonctionnalités de recherche du flux.
IMediaSeeking ::GetCurrentPosition

La méthode GetCurrentPosition récupère la position actuelle, par rapport à la durée totale du flux.
IMediaSeeking ::GetDuration

La méthode GetDuration obtient la durée du flux.
IMediaSeeking ::GetPositions

La méthode GetPositions récupère la position actuelle et la position d’arrêt, par rapport à la durée totale du flux.
IMediaSeeking ::GetPreroll

La méthode GetPreroll récupère la quantité de données qui seront mises en file d’attente avant la position de début.
IMediaSeeking ::GetRate

La méthode GetRate récupère le taux de lecture.
IMediaSeeking ::GetStopPosition

La méthode GetStopPosition récupère l’heure à laquelle la lecture s’arrêtera, par rapport à la durée du flux.
IMediaSeeking ::GetTimeFormat

La méthode GetTimeFormat récupère le format d’heure actuellement utilisé pour les opérations de recherche.
IMediaSeeking ::IsFormatSupported

La méthode IsFormatSupported détermine si un format d’heure spécifié est pris en charge pour les opérations de recherche.
IMediaSeeking ::IsUsingTimeFormat

La méthode IsUsingTimeFormat détermine si les opérations de recherche utilisent actuellement un format d’heure spécifié.
IMediaSeeking ::QueryPreferredFormat

La méthode QueryPreferredFormat récupère le format d’heure préféré pour la recherche.
IMediaSeeking ::SetPositions

La méthode SetPositions définit la position actuelle et la position d’arrêt.
IMediaSeeking ::SetRate

La méthode SetRate définit la vitesse de lecture.
IMediaSeeking ::SetTimeFormat

La méthode SetTimeFormat définit le format d’heure pour les opérations de recherche suivantes.

Configuration requise

Condition requise Valeur
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

Recherche du graphe de filtres