Partager via


Méthode IMediaSeeking ::GetCurrentPosition (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 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.]

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

Syntaxe

HRESULT GetCurrentPosition(
  [out] LONGLONG *pCurrent
);

Paramètres

[out] pCurrent

Pointeur vers une variable qui reçoit la position actuelle, en unités du format d’heure actuel.

Valeur retournée

Retourne une valeur HRESULT . Les valeurs possibles sont les suivantes.

Code de retour Description
S_OK
Réussite.
E_NOTIMPL
La méthode n’est pas prise en charge.
E_POINTER
Argument pointeur NULL .

Remarques

Cette méthode retourne la position actuelle atteinte par la lecture. La valeur inclut des ajustements pour le taux de lecture et l’heure de début. Par exemple, si l’heure de début est de 5 secondes, que le taux de lecture est de 2,0 et que vous exécutez le graphique pendant quatre secondes, la position actuelle est 5 + (4 x 2,0) = 13,0 secondes.

La valeur retournée est exprimée en unités du format d’heure actuel. Pour déterminer le format d’heure actuel, appelez la méthode GetTimeFormat .

Si le graphique est suspendu ou arrêté, la position actuelle est le point auquel la lecture reprendra.

Le Gestionnaire de graphiques de filtre calcule la position à partir de l’heure de flux actuelle ; il n’interroge pas les filtres dans le graphique. Pour la lecture de fichiers, cela génère un résultat précis, car la lecture est synchronisée avec l’heure du flux. Pour l’écriture de fichier, les résultats ne sont pas exacts. Pour obtenir la position actuelle dans un graphe d’écriture de fichier, interrogez le filtre du multiplexeur. (La position n’est toutefois pas pertinente pour la capture en direct.)

La valeur retournée est exprimée dans le format d’heure actuel. Le format d’heure par défaut est REFERENCE_TIME unités (100 nanosecondes). Pour modifier les formats d’heure, utilisez la méthode IMediaSeeking ::SetTimeFormat .

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)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

IMediaSeeking Interface