Freigeben über


CSourceSeeking.ChangeRate-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die ChangeRate -Methode wird aufgerufen, wenn sich die Wiedergaberate ändert.

Syntax

virtual HRESULT ChangeRate() = 0;

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen HRESULT-Wert zurück.

Bemerkungen

Die CSourceSeeking::SetRate-Methode ruft diese Methode auf, die von der abgeleiteten Klasse implementiert werden muss. Die SetRate-Methode aktualisiert die Membervariable CSourceSeeking::m_dRateSeeking , überprüft den neuen Wert jedoch nicht. Eine Rate von 0 sollte immer abgelehnt werden. Raten unter 00 deuten auf eine negative Wiedergabe hin. Die meisten Filter unterstützen keine negativen Raten.

Das folgende Beispiel zeigt eine mögliche Implementierung:

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

Anforderungen

Anforderung Wert
Header
Ctlutil.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CSourceSeeking-Klasse