Condividi tramite


Metodo CSourceSeeking.ChangeRate

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il ChangeRate metodo viene chiamato quando cambia la frequenza di riproduzione.

Sintassi

virtual HRESULT ChangeRate() = 0;

Parametri

Questo metodo non presenta parametri.

Valore restituito

Restituisce un valore HRESULT .

Commenti

Il metodo CSourceSeeking::SetRate chiama questo metodo, che la classe derivata deve implementare. Il metodo SetRate aggiorna la variabile membro CSourceSeeking::m_dRateSeeking , ma non convalida il nuovo valore. Una frequenza pari a zero deve essere sempre rifiutata. Le frequenze inferiori a zero indicano la riproduzione negativa. La maggior parte dei filtri non supporta i tassi negativi.

L'esempio seguente mostra una possibile implementazione:

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

Requisiti

Requisito Valore
Intestazione
Ctlutil.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CSourceSeeking