Bagikan melalui


Untuk menggunakan Kontrol Rentang Dinamis

[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK , adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Tujuan. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Sink Writer alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Rentang dinamis dari sepotong konten audio pada dasarnya adalah perbedaan antara volume terendah dan volume maksimum. Jika rentang dinamis konten terlalu tinggi, pengguna mungkin menemukan diri mereka menyesuaikan volume berulang kali selama pemutaran. Misalnya, film sering memiliki rentang dinamis yang tinggi. Seringkali, ketika volume disesuaikan sehingga dialog dapat dipahami selama adegan yang tenang, bagian lain dari film dengan musik atau efek suara lebih keras dari yang diinginkan.

Codec Windows Media Audio 9 Professional dan Windows Media Audio 9 Lossless mendukung fitur yang disebut kontrol rentang dinamis. Pada waktu enkode, codec menghitung nilai amplitudo puncak dan rata-rata dalam konten, dan objek penulis menyimpan nilai-nilai ini dalam metadata untuk aliran saat pengodean selesai. Secara opsional, aplikasi juga dapat menulis nilai "target" sebagai metadata yang dapat digunakan aplikasi pemutar dan dekoder sebagai petunjuk saat memutar kembali file. Pada waktu pemutaran, aplikasi dapat menentukan tingkat kontrol rentang dinamis untuk diterapkan ke aliran audio.

Windows Media Player menerapkan kontrol rentang dinamis sebagai fitur Mode Tenang.

Kapan Menggunakan Kontrol Rentang Dinamis

Kontrol rentang dinamis dapat mengubah suara konten. Untuk alasan itu, Anda tidak boleh mengonfigurasi aplikasi untuk menggunakan kontrol rentang dinamis secara otomatis. Sebagai gantinya, berikan pengguna kemampuan untuk mengaktifkan atau menonaktifkan kontrol rentang dinamis sesuai kebutuhan.

Menggunakan Kontrol Rentang Dinamis

Pada waktu pemutaran, kontrol rentang dinamis diaktifkan menggunakan pengaturan output g_wszDynamicRangeControl. Gunakan IWMReaderAdvanced2::SetOutputSetting untuk mengonfigurasi pengaturan. Nilai nol (default) menunjukkan bahwa rentang dinamis tidak boleh diubah. Nilai 1 atau 2 menandakan codec untuk melakukan kontrol rentang dinamis, di mana 1 adalah tingkat kompresi rentang dinamis sedang, dan 2 adalah tingkat kompresi rentang dinamis yang tinggi.

Pada waktu pengodean atau waktu pemutaran, Anda dapat memberikan nilai PCM target codec untuk tingkat puncak dan rata-rata dengan mengatur atribut WM/WMADRCPeakTarget dan atribut WM/WMADRCAverageTarget. Nilai-nilai ini disimpan sebagai atribut metadata dan harus diakses menggunakan metode antarmukaIWMHeaderInfo3. Saat Anda mengodekan aliran audio menggunakan codec profesional atau codec lossless, atribut WM/WMADRCPeakReference dan atribut WM/WMADRCAverageReference diatur secara otomatis ke tingkat puncak dan rata-rata konten asli. Nilai target diatur ke nilai yang sama dengan referensi secara default.

Dekoder pada waktu pemutaran menghitung rentang dinamis berdasarkan tingkat kontrol rentang dinamis yang dipilih dan nilai target (jika ada yang ditentukan). Rentang yang mungkin diperlihatkan dalam tabel berikut.

Pengaturan Rentang audio yang dikirimkan
g_wszDynamicRangeControl = 0 (Nilai target apa saja) Rentang yang sama dengan konten asli.
g_wszDynamicRangeControl = 1 (Nilai target sama dengan nilai referensi) Tingkat rata-rata dipertahankan dan puncak terbatas pada rata-rata +12 dB.
g_wszDynamicRangeControl = 2 (Nilai target sama dengan nilai referensi) Tingkat rata-rata dipertahankan dan puncak terbatas pada rata-rata +6 dB.
g_wszDynamicRangeControl = 1 (Nilai target telah ditentukan) Tingkat rata-rata diatur ke nilai rata-rata target dan puncak terbatas pada nilai puncak target.
g_wszDynamicRangeControl = 2 (Nilai target telah ditetapkan) Tingkat rata-rata diatur ke nilai rata-rata target, dan puncak dibatasi pada median antara nilai rata-rata target dan nilai puncak target.

 

Perhatikan bahwa kontrol rentang dinamis adalah fitur decoding saja dan hanya ada sebagai metadata dalam file itu sendiri. Pengaturan ini tidak berpengaruh pada konten yang disimpan dalam file kecuali Anda secara khusus menginstruksikan dekoder untuk menggunakannya. Windows Media Format SDK tidak menyediakan metode untuk memodifikasi rentang dinamis data audio pada waktu pengodean.

Topik Tingkat Lanjut