次の方法で共有


CSourceSeeking::ChangeRate

ChangeRate メソッドは、再生速度が変更されたときに呼び出される。

構文

  virtual HRESULT ChangeRate(void) PURE;

戻り値

HRESULT 値を返す。

注意

CSourceSeeking::SetRate メソッドは、このメソッドを呼び出す。このメソッドは、派生クラスが実装しなければならない。SetRate メソッドは、CSourceSeeking::m_dRateSeeking メンバ変数を更新するが、新しい値を確認しない。速度 0 は、常に拒否される。0 以下の速度は、逆再生を示す。ほとんどのフィルタは、負の速度をサポートしていない。

次の例は、可能な実装を示している。

HRESULT CMyStream::ChangeRate( )
{
        {   // クリティカル セクション ロックのスコープ。
        CAutoLock cAutoLockSeeking(CSourceSeeking::m_pLock);
        if( m_dRateSeeking <= 0 ) {
                        m_dRateSeeking = 1.0;  // 適切な値にリセットする。
            return E_FAIL;
        }
    }
    UpdateFromSeek();
    return S_OK;
}

参照