estrutura AUDIO_VOLUME_NOTIFICATION_DATA (endpointvolume.h)

A estrutura AUDIO_VOLUME_NOTIFICATION_DATA descreve uma alteração no nível do volume ou no estado de mudo de um dispositivo de ponto de extremidade de áudio.

Sintaxe

typedef struct AUDIO_VOLUME_NOTIFICATION_DATA {
  GUID  guidEventContext;
  BOOL  bMuted;
  float fMasterVolume;
  UINT  nChannels;
  float afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA, *PAUDIO_VOLUME_NOTIFICATION_DATA;

Membros

guidEventContext

Valor de contexto para o método IAudioEndpointVolumeCallback::OnNotify . Esse membro é o valor do GUID de contexto de evento que foi fornecido como um parâmetro de entrada para a chamada do método IAudioEndpointVolume que alterou o nível de volume do ponto de extremidade ou o estado de ativação de mudo. Para obter mais informações, consulte Comentários.

bMuted

Especifica se o fluxo de áudio está ativado no momento. Se bMuted for TRUE, o fluxo será ativado. Se FALSE, o fluxo não será ativado.

fMasterVolume

Especifica o nível de volume master atual do fluxo de áudio. O nível de volume é normalizado para o intervalo de 0,0 a 1,0, em que 0,0 é o nível mínimo de volume e 1,0 é o nível máximo. Dentro desse intervalo, a relação do nível de volume normalizado com a atenuação da amplitude do sinal é descrita por uma curva não linear e com áudio afilado. Para obter mais informações sobre tapers de áudio, consulte Controles de volume de áudio em fita.

nChannels

Especifica o número de canais no fluxo de áudio, que também é o número de elementos na matriz afChannelVolumes . Se o fluxo de áudio contiver n canais, os canais serão numerados de 0 a n-1. O nível de volume de um canal específico está contido no elemento de matriz cujo índice corresponde ao número do canal.

afChannelVolumes[1]

O primeiro elemento em uma matriz de volumes de canal. Esse elemento contém o nível de volume atual do canal 0 no fluxo de áudio. Se o fluxo de áudio contiver mais de um canal, os níveis de volume para os canais adicionais seguirão imediatamente a estrutura AUDIO_VOLUME_NOTIFICATION_DATA . O nível de volume para cada canal é normalizado para o intervalo de 0,0 a 1,0, em que 0,0 é o nível mínimo de volume e 1,0 é o nível máximo. Dentro desse intervalo, a relação do nível de volume normalizado com a atenuação da amplitude do sinal é descrita por uma curva não linear e com áudio afilado.

Comentários

Essa estrutura é usada pelo método IAudioEndpointVolumeCallback::OnNotify .

Um cliente pode se registrar para ser notificado quando o nível de volume ou o estado de mudo de um dispositivo de ponto de extremidade for alterado. Os métodos a seguir podem causar essa alteração:

Quando uma chamada para um desses métodos causa um evento de alteração de volume (ou seja, uma alteração no nível do volume ou estado de ativação de mudo), o método envia notificações para todos os clientes que se registraram para recebê-los. O método notifica um cliente chamando o método IAudioEndpointVolumeCallback::OnNotify do cliente. Por meio da chamada OnNotify , o cliente recebe um ponteiro para uma estrutura AUDIO_VOLUME_NOTIFICATION_DATA que descreve a alteração.

Cada um dos métodos na lista anterior aceita um parâmetro de entrada chamado pguidEventContext, que é um ponteiro para um GUID de contexto de evento. Antes de enviar notificações aos clientes, o método copia o GUID de contexto de evento apontado por pguidEventContext para o membro guidEventContext da estrutura AUDIO_VOLUME_NOTIFICATION_DATA que fornece aos clientes por meio de seus métodos OnNotify . Se pguidEventContext for NULL, o valor do membro guidEventContext será definido como GUID_NULL.

Em sua implementação do método OnNotify , um cliente pode inspecionar o GUID de contexto de evento dessa chamada para descobrir se ele ou outro cliente é a origem do evento de alteração de volume.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho endpointvolume.h

Confira também

Estruturas de áudio principais

IAudioEndpointVolume Interface

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback Interface

IAudioEndpointVolumeCallback::OnNotify