Comment obtenir la durée de lecture

[MFPlay est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Conditions requises. Il sera peut-être modifié ou indisponible dans les versions ultérieures. ]

Cette rubrique explique comment obtenir la durée de lecture d’un fichier multimédia à l’aide de MFPlay.

Pour obtenir la durée de lecture

  1. Appelez IMFPMediaPlayer::CreateMediaItemFromURL ou IMFPMediaPlayer::CreateMediaItemFromObject pour créer un élément multimédia pour le fichier.
  2. Appelez IMFPMediaItem::GetDuration. Spécifiez MFP_POSITIONTYPE_100NS pour le premier paramètre. La durée est retournée en tant que PROPVARIANT qui contient une valeur LARGE_INTEGER . La durée est donnée en unités de 100 nanosecondes.

L’exemple suivant montre l’étape 2 :

#include <propvarutil.h>

HRESULT GetPlaybackDuration(IMFPMediaItem *pItem, ULONGLONG *phnsDuration)
{
    PROPVARIANT var;

    HRESULT hr = pItem->GetDuration(MFP_POSITIONTYPE_100NS, &var);

    if (SUCCEEDED(hr))
    {
        hr = PropVariantToUInt64(var, phnsDuration);
        PropVariantClear(&var);
    }

    return hr;
}

Spécifications

MFPlay nécessite Windows 7.

Utilisation de MFPlay pour la lecture audio/vidéo