如何取得播放持續時間
[MFPlay 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 ]
本主題描述如何使用 MFPlay 取得媒體檔案的播放持續時間。
取得播放持續時間
- 呼叫 IMFPMediaPlayer::CreateMediaItemFromURL 或 IMFPMediaPlayer::CreateMediaItemFromObject 來建立檔案的媒體專案。
- 呼叫 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。
相關主題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應