Método IAudioEndpointVolume::SetChannelVolumeLevel (endpointvolume.h)

El método SetChannelVolumeLevel establece el nivel de volumen, en decibelios, del canal especificado de la secuencia de audio que entra o sale del dispositivo de punto de conexión de audio.

Sintaxis

HRESULT SetChannelVolumeLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Parámetros

[in] nChannel

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

[in] fLevelDB

Nuevo nivel de volumen en decibelios. Para obtener el intervalo y la granularidad de los niveles de volumen que puede establecer este método, llame al método IAudioEndpointVolume::GetVolumeRange .

[in] pguidEventContext

Valor de contexto del método IAudioEndpointVolumeCallback::OnNotify . Este parámetro apunta a un GUID de contexto de evento. Si la llamada a SetChannelVolumeLevel cambia el nivel de volumen del punto de conexión, todos los clientes que han registrado interfaces IAudioEndpointVolumeCallback con ese punto de conexión recibirán notificaciones. En su implementación del método OnNotify , un cliente puede inspeccionar el GUID del contexto de eventos para detectar si es el origen del evento de cambio de volumen. Si el autor de la llamada proporciona un puntero NULL para este parámetro, la rutina de notificación recibe el valor guid de contexto GUID_NULL.

Valor devuelto

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

Código devuelto Descripción
E_INVALIDARG
El parámetro nChannel es mayor o igual que el número de canales de la secuencia; o el parámetro fLevelDB se encuentra fuera del intervalo de volúmenes admitido por el dispositivo.
E_OUTOFMEMORY
Memoria insuficiente

Comentarios

Si el nivel de volumen fLevelDB está fuera del intervalo de volúmenes notificado por el método IAudioEndpointVolume::GetVolumeRange , se produce un error en la llamada SetChannelVolumeLevel y se devuelve el código de error E_INVALIDARG.

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 endpointvolume.h

Consulte también

IAudioEndpointVolume (interfaz)

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback (Interfaz)

IAudioEndpointVolumeCallback::OnNotify