Bagikan melalui


Informasi Parameter

[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Tangkapan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine dan Audio/Video Capture di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Metode IMediaParamInfo::GetParamInfo mengembalikan struktur MP_PARAMINFO yang menjelaskan parameter. Struktur ini berisi informasi berikut:

  • Anggota mpType menunjukkan jenis data nilai parameter. Untuk efisiensi, semua parameter diimplementasikan sebagai nilai floating-point 32-bit. Enumerasi MP_TYPE menentukan apakah akan menafsirkan nilai sebagai bilangan bulat, nilai floating-point, Boolean, atau enumerasi (seri bilangan bulat).
  • Anggota mopCaps menunjukkan kurva mana yang didukung parameter ini. Jika jenis data adalah Boolean atau enumerasi, satu-satunya kurva yang dapat didukung parameter adalah "Lompat."
  • Anggota mpdMinValue dan mpdMaxValue menentukan nilai minimum dan maksimum untuk parameter ini. Kurva apa pun untuk parameter ini harus berada dalam rentang ini.
  • Anggota mpdNeutralValue adalah nilai default parameter.
  • Anggota szLabel adalah nama parameter, dan anggota szUnitText adalah nama untuk unit pengukuran untuk parameter . Contohnya mungkin termasuk "Volume" dan "Desibel," atau "Frekuensi" dan "kHz." Kedua string adalah bahasa Inggris dan tidak pernah dilokalkan. DMO dapat menyediakan versi yang dilokalkan melalui metode IMediaParamInfo::GetParamText .

Informasi untuk setiap parameter tetap selama masa pakai DMO. Oleh karena itu, klien dapat meminta informasi ini sekali dan kemudian menyimpannya dalam cache.

Format Waktu

Klien harus memberi stempel waktu pada data input, sehingga DMO dapat menghitung nilai parameter yang sesuai. Secara default, stempel waktu mewakili unit 100 nanodetik, juga disebut waktu referensi. Unit waktu ini tidak nyaman untuk setiap aplikasi, sehingga DMO memiliki opsi untuk mendukung format waktu lainnya. Format waktu diidentifikasi oleh GUID.

GUID Deskripsi
GUID_TIME_REFERENCE Waktu referensi
GUID_TIME_MUSIC Bagian per catatan kuartal (PPQN)
GUID_TIME_SAMPLES Sampel per detik

 

Pihak ketiga didorong untuk mendefinisikan format waktu mereka sendiri sesuai kebutuhan. Namun, semua DMO harus mendukung waktu referensi. Ini menyediakan garis besar standar yang dapat digunakan semua orang. Untuk menentukan berapa banyak format waktu yang didukung DMO, panggil metode IMediaParamInfo::GetNumTimeFormats . Untuk menghitung format yang didukung, panggil metode IMediaParamInfo::GetSupportedTimeFormat .

Untuk mengatur format waktu, panggil IMediaParams::SetTimeFormat. Metode ini menentukan format waktu GUID dan data waktu, yang merupakan jumlah unit per jam centang. Misalnya, jika format waktu adalah sampel per detik, dan data waktu adalah 32, maka nilai stempel waktu 10 sesuai dengan 320 sampel.

Parameter Media