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 funcionam juntos.
O diagrama a seguir apresenta um layout simplificado da estrutura interna do mecanismo de áudio.
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 as APOs e os sAPOs fornecidos pelo sistema em componentes chamados pipes. Há dois tipos de pipes no mecanismo de áudio:
Os pipes de fluxo são compostos por APOs e sAPOs que executam o processamento de áudio digital que é local para o fluxo de um único aplicativo. O sAPO nesse tipo de pipe é conhecido como sAPO de efeitos locais (LFX sAPO).
Os pipes de dispositivo são compostos por APOs e sAPOs que executam o processamento de áudio digital que afeta todos os fluxos globalmente. O sAPO nesse tipo de pipe é chamado de sAPO de efeitos globais (GFX sAPO).
A tabela a seguir mostra os sAPOs que estão disponíveis no mecanismo de áudio do Windows Vista e o tipo de efeitos do sistema que eles aplicam.
SAPO do Windows Vista | Efeito do sistema |
---|---|
Aumento de baixo |
LFX |
Gerenciamento de graves |
LFX |
Equalização de intensidade |
LFX |
Proteção de baixa frequência |
LFX |
Preenchimento do Alto-Falante |
LFX |
Fantasma do alto-falante |
LFX |
Virtual Surround |
LFX |
Surround virtualizado sobre fones de ouvido |
LFX |
Som aprimorado para computadores portáteis |
GFX |
Correção de Sala |
GFX |
Quando um aplicativo de áudio inicia o processamento de áudio, o mecanismo de áudio configura as APOs fornecidas pelo sistema e os sAPOs em um grafo de áudio para processar os dados de áudio digital. O mecanismo que o mecanismo de áudio usa para criar o grafo 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 esteja instalado com o Windows Vista, os sAPOs não são considerados componentes do sistema e, portanto, são personalizáveis.
Modo compartilhado
No modo compartilhado, um aplicativo de áudio compartilha o hardware de áudio com outros aplicativos de áudio que estão em execução em outros processos. O mecanismo de áudio mistura os fluxos desses aplicativos e reproduz a combinação resultante por meio do hardware. Qualquer aplicativo que abra um fluxo no modo compartilhado deve selecionar o formato de combinação usado pelo mecanismo de áudio. A vantagem de usar o modo compartilhado é que o mecanismo de áudio do Windows Vista fornece um APO (Objeto de Processamento de Áudio) interno para fornecer a funcionalidade de suporte necessária. A desvantagem de usar o modo compartilhado é que a latência de 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
Por outro lado, quando um aplicativo abre um fluxo no modo exclusivo, o aplicativo tem acesso exclusivo ao hardware de áudio. Nesse modo, o aplicativo pode selecionar qualquer formato de áudio compatível com o ponto de extremidade. A vantagem de usar o modo exclusivo é que a latência de 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 aplicativos de nível profissional exige esse 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 grafo configura os sAPOs em um grafo de áudio e também inicializa os sAPOs. Em seguida, o serviço de áudio negocia com o APO LFX para estabelecer o formato dos dados de áudio na entrada e saída do APO. Para obter mais informações, confira Formatar Negociação.