Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 estão 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 vinculam 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 à interface IDeviceTopology para um dispositivo de ponto de extremidade de áudio seguindo estas etapas:
- Usando uma das técnicas descritas em de Interface IMMDevice, obtenha uma referência à interface IMMDevice para um dispositivo de ponto de extremidade de áudio.
- Chame o método IMMDevice::Activate com o parâmetro iid definido como IID_IDeviceTopology REFIID.
O cliente pode obter referências para as outras interfaces na API devicetopology chamando os métodos na interface IDeviceTopology.
A API DeviceTopology implementa as interfaces a seguir.
| Interface | Descrição |
|---|---|
| IAudioAutoGainControl | Fornece acesso a um AGC (controle de ganho automático de hardware). |
| IAudioBass | Fornece acesso a um controle de nível de baixo de hardware. |
| IAudioChannelConfig | Fornece acesso a um controle de configuração de canal de hardware. |
| IAudioInputSelector | Fornece acesso a um controle multiplexer de hardware (seletor de entrada). |
| IAudioLoudness | Fornece acesso a um controle de compensação "loudness". |
| IAudioMidrange | Fornece acesso a um controle de nível médio de hardware. |
| IAudioMute | Fornece acesso a um controle de mudo de hardware. |
| IAudioOutputSelector | Fornece acesso a um controle de demultiplexer 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 agudo 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 parte (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 compatíveis com uma conexão de E/S configurada por software (normalmente um canal de DMA) entre o dispositivo de áudio e a memória do sistema. |
| IKsJackDescription | 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 partes (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 a 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 parte (conector ou subunidade) é alterado. |
Tópicos relacionados