Cómo buscar la duración de un archivo multimedia
Para buscar la duración de un archivo multimedia, realice los pasos siguientes:
- Use el Solucionador de origen para crear un origen multimedia que pueda analizar el archivo multimedia.
- Llame a IMFMediaSource::CreatePresentationDescriptor en el origen multimedia. Este método devuelve el descriptor de presentación que describe el contenido del archivo multimedia.
- Consulte el descriptor de presentación del atributo MF_PD_DURATION llamando al método IMFAttributes::GetUINT64 . El valor del atributo, si está presente, es la duración del archivo en unidades de 100 nanosegundos.
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;
}
Temas relacionados