재생 기간을 가져오는 방법

[MFPlay는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. ]

이 항목에서는 MFPlay를 사용하여 미디어 파일의 재생 기간을 가져오는 방법을 설명합니다.

재생 기간을 얻으려면

  1. IMFPMediaPlayer::CreateMediaItemFromURL 또는 IMFPMediaPlayer::CreateMediaItemFromObject를 호출하여 파일에 대한 미디어 항목을 만듭니다.
  2. IMFPMediaItem::GetDuration을 호출합니다. 첫 번째 매개 변수에 대한 MFP_POSITIONTYPE_100NS 지정합니다. 기간은 LARGE_INTEGER 값을 포함하는 PROPVARIANT로 반환됩니다. 기간은 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 사용