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


Метод CMediaSample.SetMediaTime

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

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

Синтаксис

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

Параметры

pStart

Указатель на время начала носителя или ЗНАЧЕНИЕ NULL.

pEnd

Указатель на время остановки носителя или NULL.

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

Возвращает S_OK.

Комментарии

Время остановки носителя должно быть больше времени начала мультимедиа. Используйте значение NULL , чтобы сделать недействительным время мультимедиа.

Параметр pEnd указывает абсолютное время носителя, но переменная-член CMediaSample::m_MediaEnd вычисляется как смещение от pStart. Другими словами, m_MediaEnd = *pTimeEnd *pTimeStart.

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

Требования

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

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

Класс CMediaSample