Partilhar via


Explorando o mecanismo de áudio do Windows Vista

Este tópico apresenta uma visão geral do mecanismo de áudio do Windows Vista. Ele se concentra em conceitos que ajudarão você a entender como APOs e sAPOs trabalham juntos.

O diagrama a seguir apresenta um layout simplificado da estrutura interna do mecanismo de áudio.

Diagrama ilustrando o layout simplificado de um mecanismo de áudio do Windows Vista.

Como mostra o diagrama, APOs e sAPOs fornecidos pelo sistema são os blocos de construção básicos do mecanismo de áudio. O mecanismo de áudio configura os APOs e sAPOs fornecidos pelo sistema em componentes chamados tubos. Existem dois tipos de tubos no motor de áudio:

  • Os canais de fluxo são compostos por APOs e sAPOs que executam o processamento de áudio digital local ao fluxo de uma única aplicação. O sAPO neste tipo de tubo é referido como sAPO de efeitos locais (sAPO LFX).

  • Os tubos de dispositivo são compostos por APOs e sAPOs que executam processamento de áudio digital que afeta todos os fluxos globalmente. O sAPO neste tipo de tubo é chamado de sAPO de efeitos globais (GFX sAPO).

A tabela a seguir mostra os sAPOs disponíveis no mecanismo de áudio do Windows Vista e o tipo de efeitos de sistema que eles aplicam.

Windows Vista sAPO Efeito do sistema

Aumento de graves

LFX

Gestão de graves

LFX

Equalização de volume

LFX

Proteção de baixa frequência

LFX

Preenchimento de alto-falante

LFX

Alto-falante Phantoming

LFX

Virtual Surround

LFX

Surround virtualizado em auscultadores

LFX

Som melhorado para computadores portáteis

GFX

Correção acústica da sala

GFX

Quando um aplicativo de áudio inicia o processamento de áudio, o mecanismo de áudio configura os APOs fornecidos pelo sistema e os sAPOs em um gráfico de áudio para processar os dados de áudio digital. O mecanismo que o mecanismo de áudio usa para construir o gráfico de áudio é um detalhe do sistema e não será discutido.

O aplicativo de áudio pode iniciar a conexão no modo compartilhado ou no modo exclusivo. Embora um conjunto padrão de sAPOs seja instalado com o Windows Vista, os sAPOs não são considerados componentes do sistema e, portanto, personalizáveis.

Modo partilhado

No modo compartilhado, um aplicativo de áudio compartilha o hardware de áudio com outros aplicativos de áudio que estão sendo executados em outros processos. O mecanismo de áudio mistura os fluxos desses aplicativos e reproduz a mistura resultante através do hardware. Qualquer aplicativo que abra um fluxo no modo compartilhado deve selecionar o formato de mistura usado pelo mecanismo de áudio. A vantagem de usar o modo compartilhado é que o mecanismo de áudio do Windows Vista fornece um objeto de processamento de áudio (APO) interno para fornecer a funcionalidade de suporte necessária. A desvantagem de usar o modo compartilhado é que a latência do fluxo de áudio é maior do que no modo exclusivo. O exemplo de código a seguir mostra a sintaxe para inicializar um fluxo de áudio no modo compartilhado.

 hResult = pAudioClient->Initialize(
        AUDCLNT_SHAREMODE_SHARED, 
        0,
        0,
        0,
 pWfx,
        &m_SubmixGuid);

Modo exclusivo

Em contrapartida, quando um aplicativo abre um fluxo no modo exclusivo, o aplicativo tem acesso exclusivo ao hardware de áudio. Neste modo, a aplicação pode selecionar qualquer formato de áudio suportado pelo ponto final. A vantagem de usar o modo exclusivo é que a latência do fluxo de áudio é menor do que no modo compartilhado. A desvantagem de usar o modo exclusivo é que você deve fornecer seu próprio APO para lidar com a funcionalidade de suporte do mecanismo de áudio. Apenas um pequeno número de aplicações de nível profissional requer este modo de operação. O exemplo de código a seguir mostra a sintaxe para inicializar um fluxo de áudio no modo exclusivo.

 hResult = pAudioClient->Initialize(
            AUDCLNT_SHAREMODE_EXCLUSIVE,
            0,
            0,
            0,  
 pWfxEx,
            &m_SubmixGuid);

Depois que um aplicativo inicia o processamento de áudio, o construtor de gráficos configura os sAPOs em um gráfico de áudio e também inicializa os sAPOs. O serviço de áudio então negocia com a LFX APO para estabelecer o formato dos dados de áudio na entrada e saída do APO. Para obter mais informações, consulte Formatar negociação.