Поделиться через


Получение длительности воспроизведения

[MFPlay доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. ]

В этом разделе описывается, как получить продолжительность воспроизведения файла мультимедиа с помощью MFPlay.

Получение длительности воспроизведения

  1. Вызовите IMFPMediaPlayer::CreateMediaItemFromURL или IMFPMediaPlayer::CreateMediaItemFromObject , чтобы создать элемент мультимедиа для файла.
  2. Вызовите IMFPMediaItem::GetDuration. Укажите MFP_POSITIONTYPE_100NS для первого параметра. Длительность возвращается в виде PROPVARIANT , содержащего значение LARGE_INTEGER . Длительность задается в 100-наносекундных единицах.

В следующем примере показан шаг 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;
}

Требования

Для MFPlay требуется Windows 7.

Использование MFPlay для воспроизведения звука и видео