Share via


再生速度の設定

再生速度を変更するには、IMediaSeeking::SetRate メソッドを呼び出す。新しいレートを元のレートの比として指定する。たとえば、通常速度の 2 倍で再生するには、次のようにする。

pSeek->SetRate(2.0)

レートが 1 より大きくなると、通常より高速になる。レートが 0 と 1 の間であれば、通常より低速になる。負のレートは逆方向再生として定義されているが、実際にサポートしているフィルタはほとんどない。現在、標準 DirectShow フィルタではいずれも逆方向再生をサポートしていない。

再生速度にかかわらず、現在位置と停止位置は常にオリジナル ソースからの相対で表される。たとえば、ソース ファイルが通常の再生速度で 20 秒である場合、現在位置を 10 秒に設定してファイルの中央にシークする。再生速度が 2.0 であり、停止位置は 20 秒であり、10 秒位置にシークする場合、ファイルは実時間で 5 秒再生される。つまり、通常の 2 倍の速度で 10 秒相当分が再生される。2.0 の再生速度では、現在位置は基準クロックの 2 倍のレートで増える。