如何尋找媒體檔案的持續時間
若要尋找媒體檔案的持續時間,請執行下列步驟:
- 使用 來源解析程式 建立可剖析媒體檔案的媒體來源。
- 在媒體來源上呼叫 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;
}
相關主題