Метод IMediaSeeking::GetDuration (strmif.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод GetDuration получает длительность потока.
Синтаксис
HRESULT GetDuration(
[out] LONGLONG *pDuration
);
Параметры
[out] pDuration
Получает длительность в единицах текущего формата времени.
Возвращаемое значение
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Этот метод получает длительность потока с нормальной скоростью воспроизведения. Изменение скорости воспроизведения не влияет на длительность.
Длительность выражается в формате текущего времени. Формат времени по умолчанию — REFERENCE_TIME единиц (100 наносекунд). Чтобы изменить форматы времени, используйте метод IMediaSeeking::SetTimeFormat .
В зависимости от исходного формата длительность может быть не точной. Например, если источник содержит поток переменной скорости (VBR), метод может возвращать предполагаемую длительность.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | strmif.h (включая Dshow.h) |
Библиотека | Strmiids.lib |