Uso dell'audio PCM High-Resolution

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Alcuni dei formati di input per il codec Windows Media Audio 9 Professional e il codec Senza perdita di Windows Media Audio 9 sono formati PCM ad alta risoluzione. Questi sono formati PCM con più di due canali o più di 16 bit per esempio (l'audio con più di due canali è anche denominato audio multicanale).

Questi formati sono configurati usando un'estensione strutturata della struttura WAVEFORMATEX , denominata WAVEFORMATEXTENSIBLE. La struttura WAVEFORMATEXTENSIBLE include informazioni sui canali inclusi nell'audio. Questa struttura è necessaria quando si usa l'audio PCM ad alta risoluzione, perché alcune API di Windows non accettano strutture WAVEFORMATEX che contengono valori ad alta risoluzione.

I formati PCM ad alta risoluzione hanno 22 byte di dati estesi, specificati nel membro cbSize della struttura WAVEFORMATEX . I formati audio Windows Media ad alta risoluzione non usano la struttura WAVEFORMATEXTENSIBLE , ma hanno dati estesi aggiunti alla struttura WAVEFORMATEX .

I codec audio Windows Media supportano solo la decodifica dei formati PCM ad alta risoluzione quando l'applicazione è in esecuzione in Windows XP o versioni successive. Nelle versioni precedenti di Microsoft Windows, i codec decodificano in un formato con un massimo di 16 bit per esempio e 2 canali. È inoltre necessario specificare che si vuole che il codec venga decodificato in PCM ad alta definizione impostando l'impostazione di output g_wszEnableDiscreteOutput su TRUE usando il metodo IWMReaderAdvanced2::SetOutputSetting . Dopo aver eseguito questa chiamata, gli output enumerati dal lettore includono formati ad alta definizione.

L'audio multicanale richiede una maggiore configurazione. Per altre informazioni, vedere Lettura di audio multicanale.

Uso degli input