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)