Interfaz ISimpleAudioVolume (audioclient.h)

La interfaz ISimpleAudioVolume permite a un cliente controlar el nivel de volumen maestro de una sesión de audio. El método IAudioClient::Initialize inicializa un objeto de secuencia y asigna la secuencia a una sesión de audio. El cliente obtiene una referencia a la interfaz ISimpleAudioVolume en un objeto de secuencia llamando al método IAudioClient::GetService con el parámetro riid establecido en REFIID IID_ISimpleAudioVolume.

Como alternativa, un cliente puede obtener la interfaz ISimpleAudioVolume de una sesión existente sin tener que crear primero un objeto de secuencia y agregar la secuencia a la sesión. En su lugar, el cliente llama al método IAudioSessionManager::GetSimpleAudioVolume con el GUID de sesión.

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 maestro de la sesión, que los clientes pueden controlar a través de los métodos de la interfaz ISimpleAudioVolume .
  • 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 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 un 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 modifica solo los niveles de volumen maestro de las sesiones. De forma predeterminada, el administrador de sesiones establece el nivel de volumen maestro en 1,0 en la activación inicial de una sesión. Los cambios de volumen posteriores de Sndvol u otros clientes son persistentes en los reinicios del equipo.

Al liberar una instancia de interfaz ISimpleAudioVolume , 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 ISimpleAudioVolume controla el volumen de 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 ISimpleAudioVolume hereda de la interfaz IUnknown . ISimpleAudioVolume también tiene estos tipos de miembros:

Métodos

La interfaz ISimpleAudioVolume tiene estos métodos.

 
ISimpleAudioVolume::GetMasterVolume

El método GetMasterVolume recupera el nivel de volumen de cliente para la sesión de audio.
ISimpleAudioVolume::GetMute

El método GetMute recupera el estado de silenciamiento actual de la sesión de audio.
ISimpleAudioVolume::SetMasterVolume

El método SetMasterVolume establece el nivel de volumen maestro para la sesión de audio.
ISimpleAudioVolume::SetMute

El método SetMute establece el estado de silenciamiento de la 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 audioclient.h

Consulte también

Interfaces de audio principales

IAudioClient::GetService

IAudioClient::Initialize

Interfaz IAudioStreamVolume

Interfaz IChannelAudioVolume

WASAPI