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