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


IMFMediaSource::P ause method (mfidl.h)

Приостанавливает все активные потоки в источнике мультимедиа.

Синтаксис

HRESULT Pause();

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
MF_E_INVALID_STATE_TRANSITION
Недопустимый переход состояния. Источник мультимедиа должен находиться в запущенном состоянии.
MF_E_SHUTDOWN
Был вызван метод Shutdown источника мультимедиа.

Комментарии

Этот метод является асинхронным. После завершения операции источник мультимедиа отправляет событие и MESourcePaused , и каждый активный поток отправляет событие MEStreamPaused . Если метод возвращает код сбоя, события не создаются.

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

Пока источник приостановлен, вызовы IMFMediaStream::RequestSample завершатся успешно, но потоки не будут доставлять образцы до тех пор, пока источник не будет запущен снова. Обратите внимание, что очередь событий источника не сериализуется с очередями событий потока, поэтому клиент может получить некоторые примеры после события MESourcePaused из-за проблем с многопотоковой передачей. Но клиент не будет получать образцы из потока после события MEStreamPaused .

Не каждый источник мультимедиа может приостановить работу. Если источник мультимедиа может приостановиться, метод IMFMediaSource::GetCharacteristics возвращает флаг MFMEDIASOURCE_CAN_PAUSE.

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfidl.h
Библиотека Mfuuid.lib

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

IMFMediaSource

Источники мультимедиа