Share via


Metodo IAudioEndpointVolume::SetChannelVolumeLevel (endpointvolume.h)

Il metodo SetChannelVolumeLevel imposta il livello del volume, in decibel, del canale specificato del flusso audio che entra o lascia il dispositivo endpoint audio.

Sintassi

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

Parametri

[in] nChannel

Numero di canale. Se il flusso audio contiene n canali, i canali vengono numerati da 0 a n- 1. Per ottenere il numero di canali, chiamare il metodo IAudioEndpointVolume::GetChannelCount .

[in] fLevelDB

Nuovo livello di volume in decibel. Per ottenere l'intervallo e la granularità dei livelli di volume che possono essere impostati da questo metodo, chiamare il metodo IAudioEndpointVolume::GetVolumeRange .

[in] pguidEventContext

Valore di contesto per il metodo IAudioEndpointVolumeCallback::OnNotify . Questo parametro punta a un GUID del contesto di evento. Se la chiamata SetChannelVolumeLevel modifica il livello di volume dell'endpoint, tutti i client che hanno registrato interfacce IAudioEndpointVolumeCallback con tale endpoint riceveranno notifiche. Nell'implementazione del metodo OnNotify , un client può esaminare il GUID del contesto di evento per individuare se è l'origine dell'evento di modifica del volume o di un altro client. Se il chiamante fornisce un puntatore NULL per questo parametro, la routine di notifica riceve il valore GUID di contesto GUID_NULL.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se il metodo ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.

Codice restituito Descrizione
E_INVALIDARG
Il parametro nChannel è maggiore o uguale al numero di canali nel flusso; o il parametro fLevelDB non rientra nell'intervallo di volumi supportato dal dispositivo.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

Se fLevelDB a livello di volume non rientra nell'intervallo di volumi segnalato dal metodo IAudioEndpointVolume::GetVolumeRange , la chiamata SetChannelVolumeLevel ha esito negativo e restituisce il codice di errore E_INVALIDARG.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione endpointvolume.h

Vedi anche

Interfaccia IAudioEndpointVolume

IAudioEndpointVolume::GetChannelCount

IAudioEndpointVolume::GetVolumeRange

Interfaccia IAudioEndpointVolumeCallback

IAudioEndpointVolumeCallback::OnNotify