IMFSourceReader::SetCurrentPosition メソッド (mfreadwrite.h)
メディア ソース内の新しい位置をシークします。
構文
HRESULT SetCurrentPosition(
[in] REFGUID guidTimeFormat,
[in] REFPROPVARIANT varPosition
);
パラメーター
[in] guidTimeFormat
時刻の形式を指定する GUID。 時刻形式では、 varPosition パラメーターの単位を定義します。 すべてのメディア ソースに対して、次の値が定義されています。
値 | 意味 |
---|---|
|
100 ナノ秒単位。 |
一部のメディア ソースでは、追加の値がサポートされる場合があります。
[in] varPosition
再生を開始する位置。 単位は guidTimeFormat パラメーターによって指定されます。 guidTimeFormat パラメーターがGUID_NULL場合は、バリアント型を VT_I8 に設定します。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
1 つ以上のサンプル要求がまだ保留中です。 |
注釈
SetCurrentPosition メソッドは、正確なシークを保証しません。 シークの精度は、メディア コンテンツによって異なります。 メディア コンテンツにビデオ ストリームが含まれている場合、 SetCurrentPosition メソッドは通常、目的の位置の前に最も近いキー フレームをシークします。 キー フレーム間の距離は、エンコーダーの実装、ビデオ コンテンツ、コンテンツのエンコードに使用される特定のエンコード設定など、いくつかの要因によって異なります。 キー フレーム間の距離は、1 つのビデオ ファイル内で異なる場合があります (シーンの複雑さに応じてなど)。
シーク後、アプリケーションは IMFSourceReader::ReadSample を呼び出し、目的の位置に進む必要があります。
このインターフェイスは、Windows Vista のプラットフォーム更新プログラムの補足情報がインストールされている場合、Windows Vista で使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfreadwrite.h |