Compartilhar via


Dispositivos de ponto de extremidade de áudio

O termo dispositivo de ponto de extremidade refere-se a um dispositivo de hardware que está 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 players de CD. Os dados de áudio que se movem ao longo do caminho de dados podem percorrer 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 a operação do dispositivo de ponto de extremidade, 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 manipulam diretamente em vez de em termos de 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, essa documentação refere-se a um dispositivo em um adaptador de áudio como um dispositivo do adaptador.

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

exemplos de dispositivos de ponto de extremidade de áudio e dispositivos de adaptador

No diagrama anterior, veja a seguir exemplos de dispositivos de ponto de extremidade:

  • Falantes
  • Microfone
  • Dispositivo de entrada auxiliar

Veja a seguir exemplos de dispositivos adaptador:

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

Normalmente, as interfaces do usuário de aplicativos de áudio referem-se a dispositivos de ponto de extremidade de áudio, não a dispositivos de adaptador. O Windows Vista simplifica o design de aplicativos amigáveis ao usuário, dando suporte diretamente à 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 leitor de CD, 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, está 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 por meio de um barramento do sistema (normalmente, PCI ou PCI Express) ou um barramento externo (USB ou IEEE 1394) que dá suporte a PnP (Plug and Play). Durante a enumeração do dispositivo, o Gerenciador de 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 dá suporte à detecção de dispositivo PnP. No entanto, alguns adaptadores de áudio dão suporte de detecção de presença de tomada: quando um plug é inserido ou removido de uma tomada, o hardware gera uma interrupção para notificar o driver do adaptador da alteração na configuração de hardware. O gerenciador de pontos de extremidade no Windows Vista pode explorar essa funcionalidade de hardware para notificar os aplicativos de quais dispositivos de ponto de extremidade estão presentes a qualquer momento. Dessa forma, a operação do gerenciador de pontos de extremidade é análoga à do Gerenciador de Plug and Play, que controla os dispositivos do adaptador presentes no sistema.

No Windows Vista, o sistema de áudio controla dispositivos de ponto de extremidade e dispositivos de adaptador. O gerenciador de pontos de extremidade registra dispositivos de ponto de extremidade e o gerenciador do Plug and Play registra dispositivos de adaptador. O registro de dispositivos de ponto de extremidade torna mais fácil para aplicativos amigáveis permitir que os usuários se refiram aos dispositivos de ponto de extremidade que os usuários manipulam diretamente em vez de se referir a dispositivos adaptador que podem estar ocultos dentro do chassi do computador. Os dispositivos de ponto de extremidade 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. Portanto, os aplicativos devem inferir a existência de dispositivos de ponto de extremidade. 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. Enumera todos os dispositivos de captura de áudio (estes são dispositivos de adaptador) 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 o DirectSoundCapture ou a API do DirectShow.
  3. Chame a função mixerOpen e use as outras funções de 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á desabilitar o mudo do sinal do microfone. Se o dispositivo de captura contiver um multiplexer para seleção 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 poderá falhar se encontrar uma configuração de hardware que seus designers não anteciparam ou para o qual não foi testado.

No Windows Vista, que dá 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 multiplexer, 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 implementarem seus próprios algoritmos de identificação de ponto de extremidade, podem relegar a tarefa de identificar dispositivos de ponto de extremidade 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 contar com o sistema operacional para identificação de ponto de extremidade. Da mesma forma, os fornecedores de hardware não precisam mais verificar se todos os aplicativos cliente relevantes podem 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