DeviceTopology API
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