Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Consulte o exemplo de DMO de captura de voz de alta qualidade da Microsoft.
A API DeviceTopology fornece aos aplicativos cliente a capacidade de percorrer as topologias de hardware funcionais de dispositivos de renderização e captura de áudio. Por meio das interfaces e métodos na API DeviceTopology, os clientes podem descobrir as subunidades funcionais (por exemplo, controle de volume) que se encontram ao longo dos caminhos de dados que levam de e para dispositivos de ponto de extremidade de áudio. Os clientes podem percorrer as topologias internas de dispositivos de adaptador de áudio e dispositivos de ponto de extremidade de áudio e percorrer as conexões que ligam um dispositivo a outro. Para obter mais informações, consulte Topologias de dispositivo.
O arquivo de cabeçalho Devicetopology.h define as interfaces na API DeviceTopology.
Para acessar as interfaces da API DeviceTopology, um cliente primeiro obtém uma referência à interfaceIDeviceTopologypara um dispositivo de ponto de extremidade de áudio seguindo estas etapas:
- Usando uma das técnicas descritas em IMMDevice Interface, obtenha uma referência à interface de IMMDevice para um dispositivo de ponto final de áudio.
- Chame o IMMDevice::Activate método com parâmetro iid definido como IID_IDeviceTopology REFIID.
O cliente pode obter referências a outras interfaces na API DeviceTopology chamando os métodos na interfaceIDeviceTopology.
A API DeviceTopology implementa as seguintes interfaces.
| Interface | Descrição |
|---|---|
| IAudioAutoGainControl | Fornece acesso a um controle de ganho automático (AGC) de hardware. |
| IAudioBass | Fornece acesso a um controle de nível de graves de hardware. |
| IAudioChannelConfig | Fornece acesso a um controle de configuração de canal de hardware. |
| IAudioInputSelector | Fornece acesso a um controle de multiplexador de hardware (seletor de entrada). |
| IAudioLoudness | Fornece acesso a um controle de compensação de "loudness". |
| IAudioMidrange | Fornece acesso a um controle de nível intermediário de hardware. |
| IAudioMute | Fornece acesso a um controle de silenciamento de hardware. |
| IAudioOutputSelector | Fornece acesso a um controle de desmultiplexador de hardware (seletor de saída). |
| IAudioPeakMeter | Fornece acesso a um controle de medidor de pico de hardware. |
| IAudioTreble | Fornece acesso a um controle de nível de agudos de hardware. |
| IAudioVolumeLevel | Fornece acesso a um controle de volume de hardware. |
| IConnector | Representa um ponto de conexão entre componentes. |
| IControlInterface | Representa uma interface de controle em uma peça (subunidade ou conector). |
| IDeviceSpecificProperty | Representa uma propriedade específica do dispositivo de um conector ou subunidade. |
| IDeviceTopology | Fornece acesso à topologia de um dispositivo de áudio. |
| IKsFormatSupport | Fornece informações sobre os formatos de dados de áudio suportados por uma conexão de E/S configurada por software (normalmente um canal DMA) entre o dispositivo de áudio e a memória do sistema. |
| IKsJackDescrição | Fornece informações sobre as tomadas ou conectores internos que fornecem uma conexão física entre um dispositivo em um adaptador de áudio e um dispositivo de ponto de extremidade externo ou interno (por exemplo, um microfone ou CD player). |
| IPart | Representa uma parte (conector ou subunidade) de uma topologia de dispositivo. |
| IPartsList | Representa uma lista de peças (conectores e subunidades). |
| IPerChannelDbLevel | Representa uma interface de controle de subunidade genérica que fornece controle por canal sobre o nível de volume, em decibéis, de um fluxo de áudio ou de uma banda de frequência em um fluxo de áudio. |
| ISubunit | Representa uma subunidade de hardware (por exemplo, um controle de nível de volume) que está no caminho de dados entre um cliente e um dispositivo de ponto de extremidade de áudio. |
Os clientes da API DeviceTopology que exigem notificação de eventos de alteração de controle em conectores e subunidades devem implementar a interface a seguir.
| Interface | Descrição |
|---|---|
| IControlChangeNotify | Fornece notificações quando o status de uma peça (conector ou subunidade) muda. |
Tópicos relacionados