次の方法で共有


IMFSourceReader::SetCurrentPosition メソッド (mfreadwrite.h)

メディア ソース内の新しい位置をシークします。

構文

HRESULT SetCurrentPosition(
  [in] REFGUID        guidTimeFormat,
  [in] REFPROPVARIANT varPosition
);

パラメーター

[in] guidTimeFormat

時刻の形式を指定する GUID。 時刻形式では、 varPosition パラメーターの単位を定義します。 すべてのメディア ソースに対して、次の値が定義されています。

意味
Guid_
100 ナノ秒単位。
 

一部のメディア ソースでは、追加の値がサポートされる場合があります。

[in] varPosition

再生を開始する位置。 単位は guidTimeFormat パラメーターによって指定されます。 guidTimeFormat パラメーターがGUID_NULL場合は、バリアント型を VT_I8 に設定します。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_INVALIDREQUEST
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

こちらもご覧ください

IMFSourceReader

ソース リーダー