Metodo IChannelAudioVolume::SetChannelVolume (audioclient.h)

Il metodo SetChannelVolume imposta il livello di volume per il canale specificato nella sessione audio.

Sintassi

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

Parametri

[in] dwIndex

Numero di canale. Se il formato di flusso per la sessione audio ha N canali, i canali vengono numerati da 0 a N– 1. Per ottenere il numero di canali, chiamare il metodo IChannelAudioVolume::GetChannelCount .

[in] fLevel

Livello del volume per il canale. I livelli di volume validi sono inclusi nell'intervallo compreso tra 0,0 e 1,0.

[in] EventContext

Puntatore al GUID del contesto dell'evento. Se una chiamata a questo metodo genera un evento channel-volume-change, il gestore sessione invia notifiche a tutti i client che hanno registrato interfacce IAudioSessionEvents con il gestore sessione. La gestione sessione include il valore del puntatore EventContext con ogni notifica. Dopo aver ricevuto una notifica, un client può determinare se è l'origine dell'evento o un altro client controllando il valore EventContext . Questo schema dipende dal client che seleziona un valore per questo parametro univoco tra tutti i client nella sessione. Se il chiamante fornisce un puntatore NULL per questo parametro, il metodo di notifica del client riceve un puntatore di contesto NULL .

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se 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 dwIndex è impostato su un numero di canale non valido oppure il parametro fLevel non è compreso nell'intervallo da 0,0 a 1,0.
AUDCLNT_E_DEVICE_INVALIDATED
Il dispositivo endpoint audio è stato scollegato oppure l'hardware audio o le risorse hardware associate sono state riconfigurate, disabilitate, rimosse o altrimenti non disponibili per l'uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
Il servizio audio di Windows non è in esecuzione.

Commenti

Questo metodo, se ha esito positivo, genera un evento channel-volume-change indipendentemente dal fatto che il nuovo livello del volume del canale sia diverso dal livello del volume del canale precedente.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione audioclient.h

Vedi anche

Interfaccia IAudioSessionEvents

Interfaccia IChannelAudioVolume

IChannelAudioVolume::GetChannelCount