미디어 파일의 기간을 찾는 방법
미디어 파일의 기간을 찾으려면 다음 단계를 수행합니다.
- 원본 확인자를 사용하여 미디어 파일을 구문 분석할 수 있는 미디어 원본을 만듭니다.
- 미디어 원본에서 IMFMediaSource::CreatePresentationDescriptor 를 호출합니다. 이 메서드는 미디어 파일의 내용을 설명하는 프레젠테이션 설명자를 반환합니다.
- IMFAttributes::GetUINT64 메서드를 호출하여 MF_PD_DURATION 특성에 대한 프레젠테이션 설명자를 쿼리합니다. 특성 값(있는 경우)은 100나노초 단위의 파일 기간입니다.
HRESULT GetSourceDuration(IMFMediaSource *pSource, MFTIME *pDuration)
{
*pDuration = 0;
IMFPresentationDescriptor *pPD = NULL;
HRESULT hr = pSource->CreatePresentationDescriptor(&pPD);
if (SUCCEEDED(hr))
{
hr = pPD->GetUINT64(MF_PD_DURATION, (UINT64*)pDuration);
pPD->Release();
}
return hr;
}
관련 항목