次の方法で共有


IMediaPosition::p ut_CurrentPosition メソッド (control.h)

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

メソッドは put_CurrentPosition 、ストリームの合計継続時間を基準にして、現在位置を設定します。

構文

HRESULT put_CurrentPosition(
  [in] REFTIME llTime
);

パラメーター

[in] llTime

新しい位置 (秒単位)。

戻り値

HRESULT 値を返します。 次の値があります。

リターン コード 説明
S_FALSE
グラフが一時停止され、実行中の状態に戻ります。
S_OK
成功しました。
E_INVALIDARG
引数が無効です。
E_NOTIMPL
実装されていません。

解説

llTime パラメーターで指定された位置は、再生速度を無視して、合計期間に対する相対位置です。 たとえば、ソース ファイルの長さが 10 秒の場合、位置を 5.0 に設定すると、グラフは再生速度に関係なく、ファイルの中央にシークされます。

フィルター グラフが実行されている場合、フィルター グラフ マネージャーはグラフを一時停止し、seek コマンドを発行してから、グラフをもう一度実行します。 グラフがまだ実行中の状態に移行している間に メソッドが を返す場合、戻り値はS_FALSE。

seek コマンドを受信したときにフィルターが一時停止された場合は、新しい位置からデータを取り込む前に、既存のデータをフラッシュする必要があります。 「IPin::BeginFlush」および「IPin::EndFlush」を参照してください

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー control.h (Dshow.h を含む)
Library Strmiids.lib

関連項目

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

IMediaPosition インターフェイス