次の方法で共有


IMediaPosition::put_CurrentPosition

put_CurrentPosition メソッドは、ストリームの合計時間幅を基準とする、現在の位置を設定する。

構文

  HRESULT put_CurrentPosition(
  REFTIME llTime
);

パラメータ

llTime

[in] 新しい位置 (秒単位)。

戻り値

HRESULT 値を返す。可能な値は次のとおりである。

説明
S_FALSE グラフはポーズ状態だった。そして実行状態に戻る移行中である。
S_OK 成功。
E_INVALIDARG 無効な引数。
E_NOTIMPL 実装されていない。

注意

llTime 引数によって指定される位置は全時間幅からの相対値であり、再生レートは無視される。たとえば、ソース ファイルが 10 秒の長さとすると、5.0 の位置を設定するとグラフは再生レートとは無関係にファイルの真中をシークする。

フィルタ グラフが実行中の場合、フィルタ グラフ マネージャはグラフをポーズし、シーク コマンドを発行し、次にグラフを再度実行する。グラフが実行状態への移行中にメソッドが返ると、戻り値は S_FALSE となる。

シーク コマンドを受け取ったときにフィルタがポーズ状態の場合、新しい位置からそのデータを取り込む前に既存のデータをフラッシュしなければならない。詳細については、「IPin::BeginFlush」および「IPin::EndFlush」を参照すること。

参照