Skip to main content

CreateCaptureAudioStateMonitorForCategoryAndDeviceRole

Cria uma nova instância de IAudioStateMonitor que monitora o nível de áudio de todos os fluxos de captura de áudio na categoria especificada e com a função especificada.

Sintaxe

Parâmetros

category
Tipo: AUDIO_STREAM_CATEGORY
Um membro da enumeração AUDIO_STREAM_CATEGORY que especifica a categoria dos fluxos de captura de áudio a serem monitorados. role
Tipo: ERole
Um membro da enumeração ERole que especifica a função dos fluxos de captura de áudio a serem monitorados. audioStateMonitor _Out_
Tipo: IAudioStateMonitor**
Esse parâmetro de saída é preenchido com o objeto IAudioStateMonitor criado.

Valor de retorno

Se o método for bem-sucedido, ele retornará S\_OK.

Comentários

Esta é uma das funções que criam e retornam uma instância de AudioStateMonitor. Há quatro variantes para fluxos de captura e para fluxos de renderização que determinam se um processo pode realizar uma das seguintes ações para uma determinada função:
  • Capturar ou renderizar qualquer áudio de qualquer categoria
  • Capturar ou renderizar áudio de uma categoria específica
  • Capturar ou renderizar áudio de uma categoria específica, para um ponto de extremidade específico.
    O ponto de extremidade pode ser especificado usando a ID MMDevice (obtida usando IMMDevice::GetId()) ou usando a ID SWD dele (obtida usando Windows.Devices.Enumeration ou Windows.Media.Devices.MediaDevice)
  • Capturar ou renderizar áudio de uma categoria específica para o ponto de extremidade padrão
Considere o cenário a seguir, em que um jogo deseja ativar a funcionalidade GameChat no jogo somente quando souber que o áudio não será silenciado pelas políticas do sistema operacional. Para fazer isso, o jogo se registra para receber notificações de SoundLevel para a categoria de fluxo AudioCategory_GameChat no ponto de extremidade de comunicações padrão. Se o SoundLevel dessa categoria estiver definido como ‘Muted’, o jogo interromperá a sessão de GameChat. Se o SoundLevel estiver definido como qualquer outro valor, o jogo optará por habilitar o fluxo de GameChat. O exemplo de código a seguir mostra como o jogo pode criar um objeto IAudioStateMonitor apropriado para esse cenário.

Requisitos

Cabeçalho: Audiostatemonitorapi.h Biblioteca: Windows.Media.MediaControl.lib Plataformas compatíveis: Windows, consoles da família XBOX One e consoles XBOX Series

Confira também

AUDIO_STREAM_CATEGORY Sobre o WASAPI WASAPI
Last modified on October 6, 2026