estructura AUDIO_VOLUME_NOTIFICATION_DATA (endpointvolume.h)

La estructura AUDIO_VOLUME_NOTIFICATION_DATA describe un cambio en el nivel de volumen o silenciar el estado de un dispositivo de punto de conexión de audio.

Sintaxis

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;

Miembros

guidEventContext

Valor de contexto del método IAudioEndpointVolumeCallback::OnNotify . Este miembro es el valor del GUID de contexto de evento que se proporcionó como parámetro de entrada a la llamada al método IAudioEndpointVolume que cambió el nivel de volumen del punto de conexión o el estado de silenciamiento. Para obtener más información, vea la sección Comentarios.

bMuted

Especifica si la secuencia de audio está silenciada actualmente. Si bMuted es TRUE, la secuencia se silencia. Si es FALSE, la secuencia no se silencia.

fMasterVolume

Especifica el nivel de volumen maestro actual de la secuencia de audio. El nivel de volumen se normaliza hasta el intervalo de 0,0 a 1,0, donde 0,0 es el nivel de volumen mínimo y 1,0 es el nivel máximo. Dentro de este intervalo, la relación del nivel de volumen normalizado con la atenuación de la amplitud de señal se describe mediante una curva no lineal y con cinta de audio. Para obtener más información sobre los tapizadores de audio, vea Controles de volumen con cinta de audio.

nChannels

Especifica el número de canales de la secuencia de audio, que también es el número de elementos de la matriz afChannelVolumes . Si la secuencia de audio contiene n canales, los canales se numeran de 0 a n-1. El nivel de volumen de un canal determinado se encuentra en el elemento de matriz cuyo índice coincide con el número de canal.

afChannelVolumes[1]

Primer elemento de una matriz de volúmenes de canal. Este elemento contiene el nivel de volumen actual del canal 0 en la secuencia de audio. Si la secuencia de audio contiene más de un canal, los niveles de volumen de los canales adicionales siguen inmediatamente la estructura AUDIO_VOLUME_NOTIFICATION_DATA . El nivel de volumen de cada canal se normaliza hasta el intervalo comprendido entre 0,0 y 1,0, donde 0,0 es el nivel de volumen mínimo y 1,0 es el nivel máximo. Dentro de este intervalo, la relación del nivel de volumen normalizado con la atenuación de la amplitud de señal se describe mediante una curva no lineal y con cinta de audio.

Comentarios

El método IAudioEndpointVolumeCallback::OnNotify usa esta estructura.

Un cliente puede registrarse para recibir notificaciones cuando cambie el estado de silenciamiento o nivel de volumen de un dispositivo de punto de conexión. Los métodos siguientes pueden provocar este cambio:

Cuando una llamada a uno de estos métodos provoca un evento de cambio de volumen (es decir, un cambio en el nivel de volumen o el estado de silenciamiento), el método envía notificaciones a todos los clientes que se han registrado para recibirlos. El método notifica a un cliente llamando al método IAudioEndpointVolumeCallback::OnNotify del cliente. A través de la llamada OnNotify , el cliente recibe un puntero a una estructura de AUDIO_VOLUME_NOTIFICATION_DATA que describe el cambio.

Cada uno de los métodos de la lista anterior acepta un parámetro de entrada denominado pguidEventContext, que es un puntero a un GUID de contexto de evento. Antes de enviar notificaciones a los clientes, el método copia el GUID de contexto de evento al que apunta pguidEventContext en el miembro guidEventContext de la estructura AUDIO_VOLUME_NOTIFICATION_DATA que proporciona a los clientes a través de sus métodos OnNotify . Si pguidEventContext es NULL, el valor del miembro guidEventContext se establece en GUID_NULL.

En su implementación del método OnNotify , un cliente puede inspeccionar el GUID de contexto de evento desde esa llamada para detectar si es el origen del evento de cambio de volumen o de otro cliente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Encabezado endpointvolume.h

Consulte también

Estructuras de audio principales

IAudioEndpointVolume (interfaz)

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback (Interfaz)

IAudioEndpointVolumeCallback::OnNotify