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


Метод CMediaSample.GetTime

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

Метод GetTime извлекает время потока, с которого этот пример должен начинаться и заканчиваться. Этот метод реализует метод IMediaSample::GetTime .

Синтаксис

HRESULT GetTime(
   REFERENCE_TIME *pTimeStart,
   REFERENCE_TIME *pTimeEnd
);

Параметры

pTimeStart

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

pTimeEnd

Указатель на переменную, которая получает конечное время потока в единицах 100 наносекунд. Если в образце нет времени остановки, устанавливается значение времени начала плюс единица.

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

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

Код возврата Описание
S_OK
Успешно.
VFW_S_NO_STOP_TIME
У примера есть допустимое время начала, но нет времени остановки.
VFW_E_SAMPLE_TIME_NOT_SET
Пример не имеет допустимых меток времени.

Комментарии

Переменные-члены CMediaSample::m_Start и CMediaSample::m_End указывают метки времени. Переменная-член CMediaSample::m_dwFlags указывает, допустимы ли метки времени.

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

Требования

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

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

Класс CMediaSample