共用方式為


如何取得播放持續時間

[MFPlay 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 ]

本主題描述如何使用 MFPlay 取得媒體檔案的播放持續時間。

取得播放持續時間

  1. 呼叫 IMFPMediaPlayer::CreateMediaItemFromURLIMFPMediaPlayer::CreateMediaItemFromObject 來建立檔案的媒體專案。
  2. 呼叫 IMFPMediaItem::GetDuration。 為第一個參數指定 MFP_POSITIONTYPE_100NS 。 持續時間會以 PROPVARIANT 的形式傳回,其中包含 LARGE_INTEGER 值。 持續時間是以 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 進行音訊/視訊播放