Compartilhar via


Dispositivos de ponto de extremidade de áudio

O termo dispositivo de ponto de extremidade refere-se a um dispositivo de hardware que se encontra em uma extremidade de um caminho de dados que se origina ou termina em um programa de aplicativo. Exemplos de dispositivos de ponto de extremidade de áudio são alto-falantes, fones de ouvido, microfones e CD players. Os dados de áudio que se movem ao longo do caminho de dados podem atravessar vários componentes de software e hardware durante sua jornada entre o aplicativo e o dispositivo de ponto de extremidade. Embora esses componentes sejam essenciais para o funcionamento do dispositivo de endpoint, eles tendem a ser invisíveis para os usuários. Os usuários são mais propensos a pensar em termos de dispositivos de ponto de extremidade que eles manipulam diretamente, em vez de em termos dos dispositivos em adaptadores de áudio que os dispositivos de ponto de extremidade conectam ou em termos dos componentes de software que processam os fluxos de áudio que fluem de e para esses adaptadores.

Para evitar confusão com dispositivos de ponto de extremidade, esta documentação refere-se a um dispositivo em um adaptador de áudio como um dispositivo adaptador.

O diagrama a seguir mostra como os dispositivos de ponto de extremidade de áudio diferem dos dispositivos adaptadores.

examples of audio endpoint devices and adapter devices

No diagrama anterior, a seguir estão exemplos de dispositivos de ponto de extremidade:

  • Palestrantes
  • Microfone
  • Dispositivo de entrada auxiliar

A seguir estão exemplos de dispositivos adaptadores:

  • Dispositivo de saída de onda (contém conversor digital-analógico)
  • Dispositivo de controles de saída (contém controles de volume e mudo)
  • Dispositivo de entrada de onda (contém conversor analógico-digital)
  • Dispositivo de controles de entrada (contém controle de volume e multiplexador)

Normalmente, as interfaces de usuário de aplicativos de áudio referem-se a dispositivos de ponto de extremidade de áudio, não a dispositivos adaptadores. O Windows Vista simplifica o design de aplicativos amigáveis, oferecendo suporte direto à abstração do dispositivo de ponto de extremidade.

Alguns dispositivos de ponto de extremidade podem se conectar permanentemente a um dispositivo adaptador. Por exemplo, um computador pode conter dispositivos internos, como um CD player, um microfone ou alto-falantes integrados ao chassi do sistema. Normalmente, o usuário não remove fisicamente esses dispositivos de ponto de extremidade.

Outros dispositivos de ponto de extremidade podem se conectar a um adaptador de áudio por meio de tomadas de áudio. O usuário conecta e desconecta esses dispositivos externos. Por exemplo, um dispositivo de ponto de extremidade de áudio, como um microfone externo ou fones de ouvido, fica em uma extremidade de um cabo cuja outra extremidade se conecta a uma tomada em um dispositivo adaptador.

O adaptador se comunica com o processador do sistema através de um barramento de sistema (normalmente, PCI ou PCI Express) ou barramento externo (USB ou IEEE 1394) que suporta Plug and Play (PnP). Durante a enumeração de dispositivos, o gerenciador Plug and Play identifica os dispositivos no adaptador de áudio e registra esses dispositivos para disponibilizá-los para uso pelo sistema operacional e por aplicativos.

Ao contrário da conexão entre um adaptador e um barramento externo, como USB ou o barramento IEEE 1394, a conexão entre um dispositivo de ponto de extremidade e um dispositivo adaptador não oferece suporte à detecção de dispositivo PnP. No entanto, alguns adaptadores de áudio suportam a detecção de presença de tomada: quando um plugue é inserido ou removido de uma tomada, o hardware gera uma interrupção para notificar o driver do adaptador sobre a alteração na configuração de hardware. O gerenciador de ponto de extremidade no Windows Vista pode explorar esse recurso de hardware para notificar os aplicativos sobre quais dispositivos de ponto de extremidade estão presentes a qualquer momento. Dessa forma, o funcionamento do gerenciador de endpoint é análogo ao do gerenciador Plug and Play, que mantém o controle dos dispositivos adaptadores que estão presentes no sistema.

No Windows Vista, o sistema de áudio controla os dispositivos de ponto de extremidade e os dispositivos adaptadores. O gerenciador de ponto de extremidade registra dispositivos de ponto de extremidade e o gerenciador Plug and Play registra dispositivos adaptadores. O registro de dispositivos de ponto de extremidade torna mais fácil para aplicativos amigáveis permitir que os usuários consultem os dispositivos de ponto de extremidade que os usuários manipulam diretamente, em vez de se referir a dispositivos de adaptador que podem estar ocultos dentro do chassi do computador. Os dispositivos de ponto de extremidade que são relatados pelo sistema operacional rastreiam fielmente as alterações dinâmicas na configuração do hardware de áudio que tem detecção de presença de jack. Enquanto um dispositivo de ponto de extremidade permanece conectado, o sistema enumera esse dispositivo. Quando o usuário desconecta um dispositivo de ponto de extremidade, o sistema deixa de enumerá-lo.

Em versões anteriores do Windows, incluindo Windows 98, Windows Me, Windows 2000 e Windows XP, o sistema apresenta explicitamente apenas dispositivos PnP para aplicativos. Assim, os aplicativos devem inferir a existência de dispositivos de endpoint. Um sistema operacional que não tem suporte explícito para dispositivos de ponto de extremidade força os aplicativos cliente a fazer mais do trabalho por conta própria. Por exemplo, um aplicativo de captura de áudio deve executar as seguintes etapas para habilitar a captura de um microfone externo:

  1. Enumere todos os dispositivos de captura de áudio (esses são dispositivos adaptadores) que foram registrados anteriormente pelo gerenciador PnP.
  2. Depois de selecionar um dispositivo de captura, abra um fluxo de captura no dispositivo chamando a função waveInOpen ou usando a API DirectSoundCapture ou DirectShow.
  3. Chame a função mixerOpen e use as outras funções mixerXxx para procurar uma linha MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE que corresponda ao dispositivo de captura aberto na etapa 2. Este é um palpite educado.
  4. Desbloqueie o caminho de dados do microfone. Se o caminho de dados incluir um nó mudo, o cliente deverá desativar o silenciamento do sinal do microfone. Se o dispositivo de captura contiver um multiplexador para selecionar entre várias entradas, o cliente deverá selecionar a entrada do microfone.

Esse processo é propenso a erros porque o software que executa essas operações pode falhar se encontrar uma configuração de hardware que seus designers não previram ou para a qual não foi testada.

No Windows Vista, que oferece suporte a dispositivos de ponto de extremidade, o processo de conexão com o mesmo dispositivo de ponto de extremidade é muito mais simples:

  1. Selecione um microfone de uma coleção de dispositivos de ponto de extremidade.
  2. Ative uma interface de captura de áudio nesse microfone.

O sistema operacional faz todo o trabalho necessário para identificar e habilitar o dispositivo de ponto de extremidade. Por exemplo, se o caminho de dados do microfone incluir um multiplexador, o sistema selecionará automaticamente a entrada do microfone para o multiplexador.

O comportamento do subsistema de áudio é mais confiável e determinístico se os aplicativos, em vez de implementar seus próprios algoritmos de identificação de endpoint, puderem relegar a tarefa de identificar dispositivos de endpoint para o sistema operacional. Os fornecedores de software não precisam mais verificar se seus algoritmos de identificação de ponto de extremidade funcionam corretamente com todos os dispositivos e configurações de hardware de áudio disponíveis — eles podem simplesmente confiar no sistema operacional para identificação de ponto de extremidade. Da mesma forma, os fornecedores de hardware não precisam mais verificar se cada aplicativo cliente relevante pode identificar prontamente qualquer dispositivo de ponto de extremidade conectado ao adaptador de áudio — eles precisam apenas verificar se o sistema operacional pode identificar um dispositivo de ponto de extremidade conectado ao adaptador de áudio.

Os tópicos a seguir fornecem informações adicionais sobre dispositivos de ponto de extremidade de áudio:

Guia de programação