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:
- IAudioEndpointVolume::SetChannelVolumeLevel
- IAudioEndpointVolume::SetChannelVolumeLevelScalar
- IAudioEndpointVolume::SetMasterVolumeLevel
- IAudioEndpointVolume::SetMasterVolumeLevelScalar
- IAudioEndpointVolume::SetMute
- IAudioEndpointVolume::VolumeStepDown
- IAudioEndpointVolume::VolumeStepUp
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::VolumeStepDown
IAudioEndpointVolume::VolumeStepUp