MÉTHODE IMFPMediaPlayer ::GetPosition (mfplay.h)

Important Déconseillée. Cette API peut être supprimée des versions ultérieures de Windows. Les applications doivent utiliser la session multimédia pour la lecture.
 

Obtient la position de lecture actuelle.

Syntaxe

HRESULT GetPosition(
  [in]  REFGUID     guidPositionType,
  [out] PROPVARIANT *pvPositionValue
);

Paramètres

[in] guidPositionType

Spécifie l’unité de temps pour la position de lecture. La valeur suivante est définie.

Valeur Signification
MFP_POSITIONTYPE_100NS
Unités de 100 nanosecondes.

La valeur retournée dans pvPositionValue est une LARGE_INTEGER.

  • Type de variante (vt) : VT_I8
  • Membre variant : hVal

[out] pvPositionValue

Pointeur vers un PROPVARIANT qui reçoit la position de lecture.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_INVALIDARG
Argument non valide.
MF_E_INVALIDREQUEST
Aucun élément multimédia n’a été mis en file d’attente.
MF_E_SHUTDOWN
La méthode Shutdown de l’objet a été appelée.

Remarques

La position de lecture est calculée par rapport à l’heure de début de l’élément multimédia, qui peut être spécifiée en appelant IMFPMediaItem ::SetStartStopPosition. Par exemple, si vous définissez l’heure de début sur 20 secondes et que la durée source est de 60 secondes, la plage de valeurs retournées par GetPosition est comprise entre 0 et 40 secondes.

Exemples

Le code suivant obtient la position actuelle, en unités de 100 nanosecondes, en tant que valeur LONGLONG .

HRESULT GetPositionHNS(
    IMFPMediaPlayer *pPlayer, 
    LONGLONG *phnsPosition    // Receives the position in hns.
)
{
    HRESULT hr = S_OK;

    PROPVARIANT var;
    PropVariantInit(&var);

    *phnsPosition = 0;

    hr = pPlayer->GetPosition(MFP_POSITIONTYPE_100NS, &var);

    if (SUCCEEDED(hr))
    {
        *phnsPosition = var.hVal.QuadPart;
    }

    PropVariantClear(&var);
    return hr;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mfplay.h

Voir aussi

IMFPMediaPlayer

Utilisation de MFPlay pour la lecture audio/vidéo