IMFPMediaPlayer::SetPosition メソッド (mfplay.h)
再生位置を設定します。
構文
HRESULT SetPosition(
[in] REFGUID guidPositionType,
[in] const PROPVARIANT *pvPositionValue
);
パラメーター
[in] guidPositionType
再生位置の時間単位。 次の値が定義されています。
値 | 説明 |
---|---|
|
100 ナノ秒単位。
pvPositionValue の値は、LARGE_INTEGERである必要があります。
|
[in] pvPositionValue
新しい再生位置。 このパラメーターの意味とデータ型は、 guidPositionType パラメーターによって示されます。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
引数が無効です。 |
|
pvPositionValue の値が無効です。 |
|
キューに入っているメディア項目がありません。 |
|
オブジェクトの Shutdown メソッドが呼び出されました。 |
解説
再生の停止中にこのメソッドを呼び出すと、再生の再開後に新しい位置が有効になります。
このメソッドは非同期的に完了します。 操作が完了すると、アプリケーションの IMFPMediaPlayerCallback::OnMediaPlayerEvent コールバック メソッドが呼び出されます。 イベントの種類が MFP_EVENT_TYPE_POSITION_SET。
SetPosition が呼び出される前に再生が開始された場合、再生は新しい位置で再開されます。 再生が一時停止された場合は、ビデオが更新され、現在のフレームが新しい位置に表示されます。
guidPositionType がMFP_POSITIONTYPE_100NSと等しい SetPosition に対して 2 回連続して呼び出しを行い、最初の呼び出しが完了する前に 2 番目の呼び出しが行われた場合、2 番目の呼び出しは最初の呼び出しよりも優先されます。 置き換えられた呼び出しの状態コードは、その呼び出しのイベント データで S_FALSE に設定されます。 この動作により、 SetPosition の繰り返し呼び出しによる過度の待機時間が回避されます。各呼び出しでは、メディア ソースが比較的長いシーク操作を強制的に実行する可能性があるためです。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfplay.h |
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示