次の方法で共有


IAMTimelineSrc::SetMediaTimes メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

注意

[非推奨。 この API は、Windows の今後のリリースから削除される可能性があります。

 

メソッドは SetMediaTimes 、メディアの停止時間と開始時刻を設定します。

構文

HRESULT SetMediaTimes(
   REFERENCE_TIME Start,
   REFERENCE_TIME Stop
);

パラメーター

Start

メディアの開始時刻 (100 ナノ秒単位)。

Stop

メディア停止時間 (100 ナノ秒単位)。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

メディア時間は、元のメディア ファイルに対する相対的な停止時間と開始時刻です。 ビデオまたはオーディオ ソースをタイムラインに追加するときは、常にメディア時間を設定します。 そうしないと、レンダリングの問題が発生する可能性があります。 停止時間は開始時刻より大きくする必要があります。

ビデオ ソースから静止フレームを使用するには、停止時間を開始時刻より小数部 (100 ナノ秒など) に設定します。 それらを同じ値に設定すると、レンダリング エラーが発生します。

タイムライン期間がメディアの継続時間と一致しない場合、ソースはそれに応じて拡大または縮小されます。 これにより、クリップの再生速度が作成速度よりも遅くなったり速くなったりします。 (ピッチ シフトはオーディオ ソースで行われます)。詳細については、「 Time in DirectShow Editing Services」を参照してください。

SetMediaLength メソッドを呼び出すことで、ソース ファイルの期間を指定できます。 期間を超えるメディア停止時間を設定すると、DES は停止時間を切り捨てます。

注意

ヘッダー ファイル Qedit.h は、バージョン 7 より後の Direct3D ヘッダーと互換性がありません。

 

注意

Qedit.h を入手するには、Windows Vista および .NET Framework 3.0 のMicrosoft Windows SDK Update をダウンロードします。 Qedit.h は、Windows 7 および .NET Framework 3.5 Service Pack 1 のMicrosoft Windows SDKでは使用できません。

 

要件

要件
ヘッダー
Qedit.h
ライブラリ
Strmiids.lib

関連項目

IAMTimelineSrc インターフェイス

エラーコードと成功コード