Método IChannelAudioVolume::SetChannelVolume (audioclient.h)

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

Sintaxis

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

Parámetros

[in] dwIndex

Número de canal. Si el formato de secuencia de la sesión de audio tiene N canales, los canales se numeran de 0 a N– 1. Para obtener el número de canales, llame al método IChannelAudioVolume::GetChannelCount .

[in] fLevel

Nivel de volumen del canal. Los niveles de volumen válidos están comprendidos entre 0,0 y 1,0.

[in] EventContext

Puntero al GUID de contexto de evento. Si una llamada a este método genera un evento channel-volume-change, el administrador de sesiones envía notificaciones a todos los clientes que han registrado interfaces IAudioSessionEvents con el administrador de sesiones. El administrador de sesiones incluye el valor del puntero EventContext con cada notificación. Tras recibir una notificación, un cliente puede determinar si es o no el origen del evento inspeccionando el valor eventContext . Este esquema depende del cliente que seleccione un valor para este parámetro que sea único entre todos los clientes de la sesión. Si el autor de la llamada proporciona un puntero NULL para este parámetro, el método de notificación del cliente recibe un puntero de contexto NULL .

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_INVALIDARG
El parámetro dwIndex se establece en un número de canal no válido o el parámetro fLevel no está en el intervalo de 0,0 a 1,0.
AUDCLNT_E_DEVICE_INVALIDATED
El dispositivo de punto de conexión de audio se ha desconectado o el hardware de audio o los recursos de hardware asociados se han reconfigurado, deshabilitado, quitado o dejado de estar disponible para su uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
El servicio de audio de Windows no se está ejecutando.

Comentarios

Este método, si se realiza correctamente, genera un evento channel-volume-change independientemente de si el nuevo nivel de volumen del canal difiere en el valor del nivel de volumen del canal anterior.

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

IAudioSessionEvents (Interfaz)

Interfaz IChannelAudioVolume

IChannelAudioVolume::GetChannelCount