IMediaPosition::p ut_CurrentPosition メソッド (control.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは put_CurrentPosition
、ストリームの合計継続時間を基準にして、現在位置を設定します。
構文
HRESULT put_CurrentPosition(
[in] REFTIME llTime
);
パラメーター
[in] llTime
新しい位置 (秒単位)。
戻り値
HRESULT 値を返します。 次の値があります。
リターン コード | 説明 |
---|---|
|
グラフが一時停止され、実行中の状態に戻ります。 |
|
成功しました。 |
|
引数が無効です。 |
|
実装されていません。 |
解説
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 |