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