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 |
---|---|
|
Réussite. |
|
La méthode n’est pas prise en charge. |
|
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 |