Share via


IMFPMediaPlayer::SetPosition メソッド (mfplay.h)

大事な 廃止。 この API は、今後の Windows リリースから削除される可能性があります。 アプリケーションでは、再生に メディア セッション を使用する必要があります。
 

再生位置を設定します。

構文

HRESULT SetPosition(
  [in] REFGUID           guidPositionType,
  [in] const PROPVARIANT *pvPositionValue
);

パラメーター

[in] guidPositionType

再生位置の時間単位。 次の値が定義されています。

説明
MFP_POSITIONTYPE_100NS
100 ナノ秒単位。

pvPositionValue の値は、LARGE_INTEGERである必要があります。

  • バリアント型 (vt): VT_I8
  • Variant メンバー: hVal

[in] pvPositionValue

新しい再生位置。 このパラメーターの意味とデータ型は、 guidPositionType パラメーターによって示されます。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
引数が無効です。
HRESULT_FROM_WIN32( ERROR_SEEK )
pvPositionValue の値が無効です。
MF_E_INVALIDREQUEST
キューに入っているメディア項目がありません。
MF_E_SHUTDOWN
オブジェクトの Shutdown メソッドが呼び出されました。

解説

再生の停止中にこのメソッドを呼び出すと、再生の再開後に新しい位置が有効になります。

このメソッドは非同期的に完了します。 操作が完了すると、アプリケーションの IMFPMediaPlayerCallback::OnMediaPlayerEvent コールバック メソッドが呼び出されます。 イベントの種類が MFP_EVENT_TYPE_POSITION_SET

SetPosition が呼び出される前に再生が開始された場合、再生は新しい位置で再開されます。 再生が一時停止された場合は、ビデオが更新され、現在のフレームが新しい位置に表示されます。

guidPositionTypeMFP_POSITIONTYPE_100NSと等しい SetPosition に対して 2 回連続して呼び出しを行い、最初の呼び出しが完了する前に 2 番目の呼び出しが行われた場合、2 番目の呼び出しは最初の呼び出しよりも優先されます。 置き換えられた呼び出しの状態コードは、その呼び出しのイベント データで S_FALSE に設定されます。 この動作により、 SetPosition の繰り返し呼び出しによる過度の待機時間が回避されます。各呼び出しでは、メディア ソースが比較的長いシーク操作を強制的に実行する可能性があるためです。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfplay.h

関連項目

IMFPMediaPlayer

オーディオ/ビデオ再生に MFPlay を使用する