Použití ovládacího prvku dynamického rozsahu
[Funkce přidružená k této stránce, Windows Media Format 11 SDK, je starší funkce. Byla nahrazena Čtečka zdroje a Zapisovač jímky. Zdrojový čtečka a vypisovač jímky jsou optimalizovány pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal Čtečka zdrojového kódu a Zapisovač jímky místo Windows Media Format 11 SDK, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]
Dynamický rozsah zvukového obsahu je v podstatě rozdíl mezi nejnižším a maximálním hlasitostí. Pokud je dynamický rozsah obsahu příliš vysoký, uživatelé se mohou při přehrávání opakovaně přizpůsobovat hlasitost. Například filmy mají často vysoký dynamický rozsah. Často, když je hlasitost upravena tak, aby dialogové okno bylo možné pochopit během tichých scén, ostatní části filmu s hudbou nebo zvukovými efekty jsou hlasitější, než je žádoucí.
Kodeky Windows Media Audio 9 Professional a Windows Media Audio 9 Bezztrátové podporují funkci označovanou jako dynamické ovládání rozsahu. Kodek v době kódování vypočítá hodnoty peak a average amplitude v obsahu a zapisovací objekt ukládá tyto hodnoty do metadat streamu po dokončení kódování. Volitelně může aplikace také zapsat "cílové" hodnoty jako metadata, která aplikace přehrávače a dekodér mohou použít jako rady při přehrávání souboru. Při přehrávání může aplikace určit úroveň ovládacího prvku dynamického rozsahu, který se má použít u zvukového streamu.
Program Windows Media Player implementuje ovládací prvek dynamického rozsahu jako funkci Tichý režim.
Kdy použít ovládací prvek dynamického rozsahu
Regulace dynamického rozsahu může změnit zvuk obsahu. Z tohoto důvodu byste neměli aplikaci konfigurovat tak, aby automaticky používala řízení dynamického rozsahu. Umožněte uživatelům podle potřeby zapnout nebo vypnout ovládání dynamického rozsahu.
Použití ovládacího prvku dynamického rozsahu
Při přehrávání se aktivuje ovládací prvek dynamického rozsahu pomocí nastavení výstupu g_wszDynamicRangeControl. Ke konfiguraci nastavení použijte IWMReaderAdvanced2::SetOutputSetting. Hodnota nuly (výchozí) značí, že dynamická oblast by neměla být změněna. Hodnota 1 nebo 2 signalizuje kodek k provádění řízení dynamického rozsahu, kde 1 je střední úroveň komprese dynamického rozsahu a 2 je vysoká úroveň komprese dynamického rozsahu.
V době kódování nebo přehrávání můžete nastavit cílové hodnoty PCM pro kodek pro cílové maximální a průměrné úrovně nastavením atributů WM/WMADRCPeakTarget a WM/WMADRCAverageTarget. Tyto hodnoty jsou uloženy jako atributy metadat a měly by být přístupné pomocí metod IWMHeaderInfo3 rozhraní. Při kódování zvukového streamu pomocí profesionálního nebo bezztrátového kodeku se WM/WMADRCPeakReference a WM/WMADRCAverageReference atributy nastaví automaticky na nejvyšší a průměrné úrovně původního obsahu. Cílové hodnoty jsou standardně nastavené na stejné hodnoty jako odkazy.
Dekodér v době přehrávání vypočítá dynamický rozsah na základě vybrané úrovně řízení dynamického rozsahu a cílových hodnot (pokud jsou zadány). Možné oblasti jsou uvedené v následující tabulce.
Nastavení | Rozsah doručeného zvuku |
---|---|
g_wszDynamicRangeControl = 0 (všechny cílové hodnoty) | Stejná oblast jako původní obsah. |
g_wszDynamicRangeControl = 1 (cílové hodnoty se rovná referenčním hodnotám) | Průměrná úroveň je zachována a vrcholy jsou omezeny na průměr +12 dB. |
g_wszDynamicRangeControl = 2 (cílové hodnoty se rovnají referenčním hodnotám) | Průměrná úroveň je zachována a vrcholy jsou omezeny na průměr +6 dB. |
g_wszDynamicRangeControl = 1 (zadané cílové hodnoty) | Průměrná úroveň nastavená na cílovou průměrnou hodnotu a špičky omezené na cílovou hodnotu špičky. |
g_wszDynamicRangeControl = 2 (zadané cílové hodnoty) | Průměrná úroveň nastavená na cílovou průměrnou hodnotu a špičky omezené na medián průměrné hodnoty cíle a cílové špičky. |
Všimněte si, že ovládací prvek dynamického rozsahu je funkce pouze dekódování a existuje pouze jako metadata v samotném souboru. Tato nastavení nemají žádný vliv na obsah uložený v souboru, pokud výslovně neurčíte dekodéru, aby je používal. Sada Windows Media Format SDK neposkytuje žádné metody pro úpravu dynamického rozsahu zvukových dat v době kódování.
Související témata