Método CSourceSeeking.ChangeRate

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O ChangeRate método é chamado quando a taxa de reprodução é alterada.

Sintaxe

virtual HRESULT ChangeRate() = 0;

Parâmetros

Esse método não tem parâmetros.

Retornar valor

Retorna um valor HRESULT .

Comentários

O método CSourceSeeking::SetRate chama esse método, que a classe derivada deve implementar. O método SetRate atualiza a variável de membro CSourceSeeking::m_dRateSeeking , mas não valida o novo valor. Uma taxa de zero sempre deve ser rejeitada. Taxas menores que zero indicam reprodução negativa. A maioria dos filtros não dá suporte a taxas negativas.

O exemplo a seguir mostra uma possível implementação:

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;
}

Requisitos

Requisito Valor
parâmetro
Ctlutil.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe CSourceSeeking