Método IAudioSessionEvents::OnChannelVolumeChanged (audiopolicy.h)

El método OnChannelVolumeChanged notifica al cliente que ha cambiado el nivel de volumen de un canal de audio en la submezcla de sesión.

Sintaxis

HRESULT OnChannelVolumeChanged(
  [in] DWORD    ChannelCount,
  [in] float [] NewChannelVolumeArray,
  [in] DWORD    ChangedChannel,
  [in] LPCGUID  EventContext
);

Parámetros

[in] ChannelCount

Recuento de canales. Este parámetro especifica el número de canales de audio en la submezcla de sesión.

[in] NewChannelVolumeArray

Puntero a una matriz de niveles de volumen. Cada elemento es un valor de tipo float que especifica el nivel de volumen de un canal determinado. Cada nivel de volumen es un valor del intervalo de 0,0 a 1,0, donde 0,0 es silencio y 1,0 es volumen completo (sin atenuación). El parámetro ChannelCount especifica el número de elementos de la matriz. Si una secuencia de audio contiene n canales, los canales se numeran de 0 a n– 1. El elemento de matriz cuyo índice coincide con el número de canal, contiene el nivel de volumen de ese canal. Supongamos que la matriz sigue siendo válida solo durante la llamada.

[in] ChangedChannel

Número del canal cuyo nivel de volumen cambió. Use este valor como índice en la matriz NewChannelVolumeArray . Si la submezcla de sesión contiene n canales, los canales se numeran de 0 a n– 1. Si puede haber cambiado más de un canal (por ejemplo, como resultado de una llamada al método IChannelAudioVolume::SetAllVolumes ), el valor de ChangedChannel es (DWORD)(–1).

[in] EventContext

Valor de contexto del evento. Este es el mismo valor que el llamador pasó al método IChannelAudioVolume::SetChannelVolume o IChannelAudioVolume::SetAllVolumes en la llamada que inició el cambio en el nivel de volumen del canal. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, devuelve un código de error.

Comentarios

El administrador de sesiones llama a este método cada vez que una llamada al método IChannelAudioVolume::SetChannelVolume o IChannelAudioVolume::SetAllVolumes actualiza correctamente el nivel de volumen de uno o varios canales de la submezcla de sesión. Tenga en cuenta que la llamada OnChannelVolumeChanged se produce independientemente de si el nuevo nivel de volumen del canal o los niveles difieren en el valor del nivel de volumen o los niveles del canal anterior.

El parámetro EventContext proporciona un medio para que un cliente distinga entre un cambio de volumen de canal que inició y otro iniciado por el cliente. Al llamar al método IChannelAudioVolume::SetChannelVolume o IChannelAudioVolume::SetAllVolumes , un cliente pasa un valor de parámetro EventContext que su implementación del método OnChannelVolumeChanged puede reconocer.

Para obtener un ejemplo de código que implementa los métodos en la interfaz IAudioSessionEvents , vea Eventos de sesión de audio.

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]
Plataforma de destino Windows
Encabezado audiopolicy.h

Consulte también

IAudioSessionEvents (Interfaz)

IChannelAudioVolume::SetAllVolumes

IChannelAudioVolume::SetChannelVolume