次の方法で共有


再生時間を取得する方法

[MFPlay は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 ]

このトピックでは、MFPlay を使用してメディア ファイルの再生時間を取得する方法について説明します。

再生時間を取得するには

  1. IMFPMediaPlayer::CreateMediaItemFromURL または IMFPMediaPlayer::CreateMediaItemFromObject を呼び出して、ファイルのメディア項目を作成します。
  2. IMFPMediaItem::GetDuration を呼び出します。 最初 のパラメーターのMFP_POSITIONTYPE_100NS を指定します。 期間は、LARGE_INTEGER値を含む PROPVARIANT として返されます。 期間は 100 ナノ秒単位で指定されます。

次の例は、手順 2 を示しています。

#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;
}

要件

MFPlay には、Windows 7 が必要です。

MFPlay を使用したオーディオ/ビデオ再生