Метод IMFRateControl::SetRate (mfidl.h)
Задает частоту воспроизведения.
Синтаксис
HRESULT SetRate(
[in] BOOL fThin,
[in] float flRate
);
Параметры
[in] fThin
Если задано значение TRUE, потоки мультимедиа будут истончены. В противном случае поток не будет истончен. Для источников мультимедиа и демультиплексеров объект должен истончить потоки, если этот параметр имеет значение TRUE. Для нисходящих преобразований, таких как декодеры и мультиплексоры, этот параметр является информативным; он уведомляет объект о том, что входные потоки утончены. Дополнительные сведения см. в разделе Сведения об управлении скоростью.
[in] flRate
Запрошенная скорость воспроизведения. Положительные значения указывают на воспроизведение вперед, отрицательные — обратное воспроизведение, а ноль — на очистку (источник предоставляет один кадр).
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Объект не поддерживает обратное воспроизведение. |
|
Объект не поддерживает истончение. |
|
Объект не поддерживает запрошенную скорость воспроизведения. |
|
Объект не может измениться на новую скорость в состоянии выполнения. |
Комментарии
Сеанс мультимедиа предотвращает некоторые переходы между границами скорости в зависимости от текущего состояния воспроизведения:
Состояние воспроизведения | Переадресация/обратная | Переадресация/ноль | Обратный/ноль |
---|---|---|---|
Запущен | Нет | Нет | Нет |
Пауза | Нет | Да | Нет |
Остановлена | Да | Да | Да |
Если переход не поддерживается, метод возвращает MF_E_UNSUPPORTED_RATE_TRANSITION.
Когда источник мультимедиа завершает вызов SetRate, он отправляет событие MESourceRateChanged . Другие компоненты конвейера не отправляют это событие.
Если источник мультимедиа переключается между истонченным воспроизведением, потоки отправляют событие MEStreamThinMode для указания перехода. События из источника мультимедиа не синхронизируются с событиями из потоков мультимедиа. После получения события MESourceRateChanged вы по-прежнему можете получать примеры, которые были поставлены в очередь перед тем, как поток переключился в режим с утонченным или неистонченным. Событие MEStreamThinMode отмечает точную точку в потоке, где происходит переход.
Когда сеанс мультимедиа завершает вызов SetRate, он отправляет событие MESessionRateChanged .
Требования
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfidl.h |
Библиотека | Mfuuid.lib |