Cara Mendapatkan Durasi Pemutaran
[Fitur yang terkait dengan halaman ini, MFPlay, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer dan IMFMediaEngine. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer dan IMFMediaEngine alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Topik ini menjelaskan cara mendapatkan durasi pemutaran file media menggunakan MFPlay.
Untuk Mendapatkan Durasi Pemutaran
- Panggil IMFPMediaPlayer::CreateMediaItemFromURL atau IMFPMediaPlayer::CreateMediaItemFromObject untuk membuat item media untuk file tersebut.
- Hubungi IMFPMediaItem::GetDuration. Tentukan MFP_POSITIONTYPE_100NS untuk parameter pertama. Durasi dikembalikan sebagai PROPVARIANT yang berisi nilai LARGE_INTEGER . Durasi diberikan dalam 100 unit nanodetik.
Contoh berikut menunjukkan langkah 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;
}
Persyaratan
MFPlay memerlukan Windows 7.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk