次の方法で共有


IAMTimelineSrc::SetMediaTimes

SetMediaTimes メソッドは、メディアの開始タイムと終了タイムを設定する。

構文

  HRESULT SetMediaTimes(
    REFERENCE_TIME Start,
    REFERENCE_TIME Stop
);

パラメータ

Start

メディア開始タイム (100 ナノ秒単位)。

Stop

メディア終了タイム (100 ナノ秒単位)。

戻り値

S_OK を返す。

注意

メディア タイムは、元のメディア ファイルを基準とするメディア終了タイムとメディア開始タイムである。ビデオ ソースまたはオーディオ ソースをタイムラインに追加するときは、必ずメディア タイムを設定する。そうしないと、レンダリングで問題が発生することがある。終了タイムは、開始タイムより大きな値でなければならない。

ビデオ ソースから静止フレームを使うには、開始タイムから小数点以下の値 (たとえば 100 ナノ秒) だけ大きい終了タイムを設定する。開始タイムと終了タイムを同じ値に設定すると、レンダリング エラーが発生する。

タイムラインの時間幅がメディアの時間幅と一致しない場合、それに合わせてソースが拡大縮小する。これにより、クリップの再生は、作成時とは異なるレートで行われることになる。(オーディオ ソースでは、ピッチ シフトが発生する。) 詳細については、「DirectShow 編集サービスにおける時間」を参照すること。

ソース ファイルの時間幅は、SetMediaLength メソッドを呼び出して指定できる。メディア終了タイムが時間幅を超える場合、DES は終了タイムを繰り上げる。

要件

ヘッダー : Qedit.h をインクルードする。このヘッダー ファイルは、バージョン 7 以降の Microsoft® Direct3D® のヘッダーとは互換性がない。

ライブラリ : strmiids.lib を使用。

参照