IMFPMediaPlayer::GetPosition メソッド (mfplay.h)
大事な 廃止。 この API は、Windows の今後のリリースから削除される可能性があります。 アプリケーションでは、再生に メディア セッション を使用する必要があります。
現在の再生位置を取得します。
構文
HRESULT GetPosition(
[in] REFGUID guidPositionType,
[out] PROPVARIANT *pvPositionValue
);
パラメーター
[in] guidPositionType
再生位置の時間単位を指定します。 次の値が定義されています。
値 | 意味 |
---|---|
|
100 ナノ秒単位。
pvPositionValue で返される値はLARGE_INTEGERです。
|
[out] pvPositionValue
再生位置を受け取る PROPVARIANT へのポインター。
戻り値
このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
引数が無効です。 |
|
メディア項目がキューに登録されていません。 |
|
オブジェクトの Shutdown メソッドが呼び出されました。 |
注釈
再生位置は、メディア項目の開始時刻を基準にして計算されます。これは、 IMFPMediaItem::SetStartStopPosition を呼び出すことによって指定できます。 たとえば、開始時刻を 20 秒に設定し、ソース期間が 60 秒の場合、 GetPosition によって返される値の範囲は 0 ~ 40 秒です。
例
次のコードは、100 ナノ秒単位の現在位置を LONGLONG 値として取得します。
HRESULT GetPositionHNS(
IMFPMediaPlayer *pPlayer,
LONGLONG *phnsPosition // Receives the position in hns.
)
{
HRESULT hr = S_OK;
PROPVARIANT var;
PropVariantInit(&var);
*phnsPosition = 0;
hr = pPlayer->GetPosition(MFP_POSITIONTYPE_100NS, &var);
if (SUCCEEDED(hr))
{
*phnsPosition = var.hVal.QuadPart;
}
PropVariantClear(&var);
return hr;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfplay.h |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示