IMFPMediaItem::GetDuration メソッド (mfplay.h)

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

メディア項目の期間を取得します。

構文

HRESULT GetDuration(
  [in]  REFGUID     guidPositionType,
  [out] PROPVARIANT *pvDurationValue
);

パラメーター

[in] guidPositionType

期間の値の時間の単位を指定します。 次の値が定義されています。

説明
MFP_POSITIONTYPE_100NS
100 ナノ秒単位。

pvDurationValue で返される値はLARGE_INTEGERです。

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

[out] pvDurationValue

期間を受け取る PROPVARIANT へのポインター。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

メソッドは、 IMFPMediaItem::SetStartStopPosition によって設定された値に関係なく、コンテンツの合計期間を返します。

#include <propvarutil.h>

HRESULT GetPlaybackDuration(IMFPMediaItem *pItem, ULONGLONG *phnsDuration)
{
    PROPVARIANT var;

    HRESULT hr = pItem->GetDuration(MFP_POSITIONTYPE_100NS, &var);

    if (SUCCEEDED(hr))
    {
        hr = PropVariantToUInt64(var, phnsDuration);
        PropVariantClear(&var);
    }

    return hr;
}

要件

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

関連項目

再生時間を取得する方法

IMFPMediaItem

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