Usando High-Definition Audio (Microsoft Media Foundation)

O áudio de alta definição, no contexto dos codecs do Windows Media Audio, é qualquer tipo de áudio com mais de dois canais ou mais de 16 bits por exemplo. Há suporte para áudio de alta definição nas categorias Professional e Lossless do Codificador de Áudio do Windows Media.

Tipos de áudio de alta definição descompactados são definidos usando a estrutura WAVEFORMATEXTENSIBLE . WAVEFORMATEXTENSIBLE é uma extensão estruturada da estrutura WAVEFORMATEX . Quando você estiver usando DMOs, o membro formattype da estrutura DMO_MEDIA_TYPE que descreve um tipo de áudio de alta definição deve ser definido como WMCFORMAT_WaveFormatEx, assim como é para áudio normal; não há nenhum identificador de formato especial para WAVEFORMATEXTENSIBLE. Se um formato usar WAVEFORMATEXTENSIBLE , você deverá definir o membro cbSize da estrutura WAVEFORMATEX como 22.

Ao usar o Media Foundation, você pode construir o tipo de mídia correto a partir de uma estrutura WAVEFORMATEXTENSIBLE usando a função MFInitMediaTypeFromWaveFormatEx.

Os tipos de saída de vários canais compatíveis com o codec Windows Media Audio 10 Professional não usam WAVEFORMATEXTENSIBLE, mas relatam o número correto de canais e bits por exemplo na estrutura WAVEFORMATEX . Assim como acontece com todos os tipos de áudio que descrevem o conteúdo compactado do Windows Media Audio, há informações adicionais acrescentadas à estrutura WAVEFORMATEX que é usada pelo decodificador para descompactação.

Decodificação de áudio High-Definition

Para decodificar áudio de alta definição, você deve definir a propriedade MFPKEY_WMADEC_HIRESOUTPUT como VARIANT_TRUE. Se essa propriedade não estiver definida, o decodificador fornecerá conteúdo estéreo com um máximo de 16 bits por amostra, independentemente do formato compactado.

Observação

Há suporte para áudio de alta definição apenas para Windows XP, Windows Vista e posterior. Em versões anteriores do Windows, o conteúdo do Windows Media Audio codificado com alta definição é renderizado como áudio de dois canais com um máximo de 16 bits por exemplo.

 

Trabalhando com áudio