Interfaz IChannelAudioVolume (audioclient.h)

La interfaz IChannelAudioVolume permite a un cliente controlar y supervisar los niveles de volumen de todos los canales de la sesión de audio a la que pertenece la secuencia. Esta es la sesión a la que el cliente asignó la secuencia durante la llamada al método IAudioClient::Initialize . El cliente obtiene una referencia a la interfaz IChannelAudioVolume en un objeto de secuencia llamando al método IAudioClient::GetService con el parámetro riid establecido en REFIID IID_IChannelAudioVolume.

El nivel de volumen efectivo de cualquier canal de la submezcla de sesión, como se escucha en los altavoces, es el producto de los siguientes cuatro factores de nivel de volumen:

  • Los niveles de volumen por canal de las secuencias de la sesión, que los clientes pueden controlar a través de los métodos de la interfaz IAudioStreamVolume .
  • Nivel de volumen por canal de la sesión, que los clientes pueden controlar a través de los métodos de la interfaz IChannelAudioVolume .
  • Nivel de volumen maestro de la sesión, que los clientes pueden controlar a través de los métodos de la interfaz ISimpleAudioVolume .
  • El nivel de volumen basado en directivas de la sesión, que el sistema asigna dinámicamente a la sesión a medida que cambia la combinación global.
Cada uno de los cuatro factores de nivel de volumen de la lista anterior es un valor del intervalo de 0,0 a 1,0, donde 0,0 indica silencio y 1,0 indica volumen completo (sin atenuación). El nivel de volumen efectivo también es un valor del intervalo de 0,0 a 1,0.

Las aplicaciones de audio típicas no modifican los niveles de volumen de las sesiones. En su lugar, dependen de los usuarios para establecer estos niveles de volumen a través del programa Sndvol. Sndvol solo modifica los niveles de volumen maestro de sesiones. De forma predeterminada, el administrador de sesiones establece los niveles de volumen por canal en 1,0 en la activación inicial de una sesión. Los cambios de volumen por canal posteriores por parte de los clientes son persistentes en los reinicios del equipo.

Al liberar una instancia de interfaz IChannelAudioVolume , el cliente debe llamar al método Release de la interfaz desde el mismo subproceso que la llamada a IAudioClient::GetService que creó el objeto.

La interfaz IChannelAudioVolume controla los volúmenes del canal en una sesión de audio. Una sesión de audio es una colección de secuencias en modo compartido. Esta interfaz no funciona con secuencias en modo exclusivo. Para obtener información sobre los controles de volumen para flujos en modo exclusivo, consulte EndpointVolume API.

Herencia

La interfaz IChannelAudioVolume hereda de la interfaz IUnknown . IChannelAudioVolume también tiene estos tipos de miembros:

Métodos

La interfaz IChannelAudioVolume tiene estos métodos.

 
IChannelAudioVolume::GetAllVolumes

El método GetAllVolumes recupera los niveles de volumen de todos los canales de la sesión de audio.
IChannelAudioVolume::GetChannelCount

El método GetChannelCount recupera el número de canales en el formato de secuencia para la sesión de audio.
IChannelAudioVolume::GetChannelVolume

El método GetChannelVolume recupera el nivel de volumen del canal especificado en la sesión de audio.
IChannelAudioVolume::SetAllVolumes

El método SetAllVolumes establece los niveles de volumen individuales para todos los canales de la sesión de audio.
IChannelAudioVolume::SetChannelVolume

El método SetChannelVolume establece el nivel de volumen del canal especificado en la sesión de audio.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado audioclient.h

Consulte también

Interfaces de audio principales

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume (interfaz)

ISimpleAudioVolume (interfaz)

WASAPI