Comment rechercher la durée d’un fichier multimédia
Pour rechercher la durée d’un fichier multimédia, procédez comme suit :
- Utilisez le programme de résolution de source pour créer une source multimédia qui peut analyser le fichier multimédia.
- Appelez IMFMediaSource::CreatePresentationDescriptor sur la source multimédia. Cette méthode retourne le descripteur de présentation qui décrit le contenu du fichier multimédia.
- Interrogez le descripteur de présentation pour l’attribut MF_PD_DURATION en appelant la méthode IMFAttributes::GetUINT64 . La valeur de l’attribut, le cas échéant, est la durée du fichier en unités de 100 nanosecondes.
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;
}
Rubriques connexes