Метод CSourceSeeking.ChangeRate
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Метод ChangeRate
вызывается при изменении скорости воспроизведения.
Синтаксис
virtual HRESULT ChangeRate() = 0;
Параметры
Этот метод не имеет параметров.
Возвращаемое значение
Возвращает значение HRESULT .
Комментарии
Метод CSourceSeeking::SetRate вызывает этот метод, который должен реализовать производный класс. Метод SetRate обновляет переменную-член CSourceSeeking::m_dRateSeeking , но не проверяет новое значение. Ставка, равная нулю, всегда должна быть отклонена. Скорость меньше нуля указывает на отрицательное воспроизведение. Большинство фильтров не поддерживают отрицательные показатели.
В следующем примере показана возможная реализация:
HRESULT CMyStream::ChangeRate( )
{
{ // Scope for critical section lock.
CAutoLock cAutoLockSeeking(CSourceSeeking::m_pLock);
if( m_dRateSeeking <= 0 ) {
m_dRateSeeking = 1.0; // Reset to a reasonable value.
return E_FAIL;
}
}
UpdateFromSeek();
return S_OK;
}
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|