Поделиться через


Метод CMediaSample.GetMediaTime

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод GetMediaTime извлекает время мультимедиа для этого примера. Этот метод реализует метод IMediaSample::GetMediaTime .

Синтаксис

HRESULT GetMediaTime(
   LONGLONG *pStart,
   LONGLONG *pEnd
);

Параметры

pStart

Указатель на переменную, которая получает время начала мультимедиа.

pEnd

Указатель на переменную, получающую время остановки мультимедиа.

Возвращаемое значение

Возвращает одно из значений HRESULT , показанных в следующей таблице.

Код возврата Описание
S_OK
Успешно.
VFW_E_MEDIA_TIME_NOT_SET
Для этого примера не задано время мультимедиа.

Комментарии

Переменная-член CMediaSample::m_MediaEnd указывает смещение от CMediaSample::m_MediaStart, но значение, полученное параметром pEnd , является абсолютным временем мультимедиа, вычисляемым как m_MediaStart + m_MediaEnd.

Сведения о времени мультимедиа см. в разделе Время и часы в DirectShow.

Требования

Требование Значение
Заголовок
Amfilter.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CMediaSample