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

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

Sintaxis

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

Parámetros

[in] dwCount

Número de elementos de la matriz pfVolumes . Este parámetro debe ser igual al número de canales en formato de secuencia para la sesión de audio. Para obtener el número de canales, llame al método IChannelAudioVolume::GetChannelCount .

[in] pfVolumes

Puntero a una matriz de niveles de volumen para los canales de la sesión de audio. El parámetro dwCount especifica el número de elementos de la matriz pfVolumes. El autor de la llamada escribe el nivel de volumen de cada canal en el elemento de matriz cuyo índice coincide con el 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. Los niveles de volumen válidos están comprendidos entre 0,0 y 1,0.

[in] EventContext

Puntero al GUID del 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. Al recibir una notificación, un cliente puede determinar si es 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 posibles códigos de retorno incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_INVALIDARG
El parámetro dwCount no es igual al número de canales en formato de secuencia para la sesión de audio o el valor de un elemento de matriz pfVolumes no está en el intervalo de 0,0 a 1,0.
E_POINTER
El parámetro pfVolumes es NULL.
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 no están disponibles para su uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
El servicio de audio de Windows no se está ejecutando.

Comentarios

Este método, si se ejecuta correctamente, genera un evento channel-volume-change independientemente de si alguno de los nuevos niveles de volumen del canal difiere en el valor de los niveles de volumen del canal anteriores.

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

Interfaz IAudioSessionEvents

IChannelAudioVolume (interfaz)

IChannelAudioVolume::GetChannelCount