Interfaces de áudio principais
Essa referência de programação para o SDK de Áudio Principal inclui as seguintes interfaces:
MMDevice API
A API do Dispositivo Multimídia do Windows (MMDevice) permite que os clientes de áudio descubram dispositivos de ponto de extremidade de áudio, determinem seus recursos e criem instâncias de driver para esses dispositivos. O arquivo de cabeçalho Mmdeviceapi.h define as interfaces na API MMDevice. Para obter mais informações, consulte Sobre oda API MMDevice.
A tabela a seguir lista as interfaces MMDevice disponíveis com o SDK de Áudio Principal para Windows Vista.
WASAPI
A API de Sessão de Áudio do Windows (WASAPI) permite que os aplicativos cliente gerenciem o fluxo de dados de áudio entre o aplicativo e um dispositivo de ponto de extremidade de áudio . Os arquivos de cabeçalho Audioclient.h e Audiopolicy.h definem as interfaces WASAPI. Para obter mais informações, consulte SobreWASAPI .
A tabela a seguir lista as interfaces WASAPI disponíveis com o SDK de Áudio Principal para Windows Vista e posteriores.
Interface | Descrição |
---|---|
IActivateAudioInterfaceAsyncOperation | Representa uma operação assíncrona ativando uma interface WASAPI e fornece um método para recuperar os resultados da ativação. Aplica-se a partir do Windows 8. |
IActivateAudioInterfaceCompletionHandler | Fornece um retorno de chamada para indicar que a ativação de uma interface WASAPI está concluída. Aplica-se a partir do Windows 8. |
IAudioCaptureClient | Permite que um cliente leia dados de entrada de um buffer de ponto de extremidade de captura. |
IAudioClient | Permite que um cliente crie e inicialize um fluxo de áudio entre um aplicativo de áudio e o mecanismo de áudio ou o buffer de hardware de um dispositivo de ponto de extremidade de áudio. |
IAudioClock | Permite que um cliente monitore a taxa de dados de um fluxo e a posição atual no fluxo. |
IAudioClock2 |
Permite que um cliente obtenha a posição atual do dispositivo. |
IAudioClockAdjustment |
Permite que um cliente defina a taxa de exemplo de um fluxo. |
IAudioRenderClient | Permite que um cliente escreva dados de saída em um buffer de ponto de extremidade de renderização. |
IAudioSessionControl | Permite que um cliente configure os parâmetros de controle para uma sessão de áudio e monitore eventos na sessão. |
IAudioSessionControl2 |
Permite que um cliente obtenha informações sobre a sessão de áudio. |
IAudioSessionManager | Permite que um cliente acesse os controles de sessão e os controles de volume para sessões de áudio entre processos e específicas do processo. |
IAudioSessionManager2 |
Gerencia todos os submixes, incluindo enumeração e notificação de submixes. Ele também fornece suporte para notificações de esquiva. |
IAudioSessionEnumerator |
Permite que um cliente enumere sessões de áudio. |
IAudioStreamVolume | Permite que um cliente controle e monitore os níveis de volume de todos os canais em um fluxo de áudio. |
IChannelAudioVolume | Permite que um cliente controle os níveis de volume de todos os canais na sessão de áudio à qual o fluxo pertence. |
ISimpleAudioVolume | Permite que um cliente controle o nível de volume mestre de uma sessão de áudio. |
IAudioSessionEvents | Fornece notificações de eventos relacionados à sessão, como alterações no nível do volume, nome de exibição e estado da sessão. |
IAudioSessionNotification |
Envia notificações quando ocorrem alterações de sessão. |
IAudioVolumeDuckNotification |
Envia notificações sobre alterações pendentes no sistema. |
DeviceTopology API
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. O arquivo de cabeçalho Devicetopology.h define as interfaces na API DeviceTopology. Para obter mais informações, consulte topologias de dispositivo e de API devicetopology.
A tabela a seguir lista as interfaces DeviceTopology disponíveis com o SDK de Áudio Principal para Windows Vista e posteriores.
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). |
IKsJackDescription2 |
Fornece acesso conveniente à propriedade KSPROPERTY_JACK_DESCRIPTION2 de um conector a um dispositivo de ponto de extremidade. |
IKsJackSinkInformation |
Fornece informações sobre o coletor de entrada se o jack tiver suporte pelo hardware. |
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. |
IControlChangeNotify | Fornece notificações quando o status de uma parte (conector ou subunidade) é alterado. |
EndpointVolume API
A API EndpointVolume permite que clientes especializados controlem e monitorem os níveis de volume de dispositivos de ponto de extremidade de áudio . O arquivo de cabeçalho Endpointvolume.h define as interfaces na API EndpointVolume. Para obter mais informações, consulte da API EndpointVolume.
A tabela a seguir lista as interfaces EndpointVolume disponíveis com o SDK de Áudio Principal para Windows Vista.