Share via


Metodo IChannelAudioVolume::SetAllVolumes (audioclient.h)

Il metodo SetAllVolumes imposta i singoli livelli di volume per tutti i canali della sessione audio.

Sintassi

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

Parametri

[in] dwCount

Numero di elementi nella matrice pfVolumes . Questo parametro deve corrispondere al numero di canali nel formato di flusso per la sessione audio. Per ottenere il numero di canali, chiamare il metodo IChannelAudioVolume::GetChannelCount .

[in] pfVolumes

Puntatore a una matrice di livelli di volume per i canali nella sessione audio. Il numero di elementi nella matrice pfVolumes viene specificato dal parametro dwCount . Il chiamante scrive il livello del volume per ogni canale nell'elemento matrice il cui indice corrisponde al numero di canale. Se il formato di flusso per la sessione audio ha canali N , i canali vengono numerati da 0 a N- 1. I livelli di volume validi si trovano nell'intervallo da 0,0 a 1,0.

[in] EventContext

Puntatore al GUID del contesto 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 gestione sessione. 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 della 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 codici restituiti possibili includono, ma non sono limitati a, i valori visualizzati nella tabella seguente.

Codice restituito Descrizione
E_INVALIDARG
Il parametro dwCount non è uguale al numero di canali nel formato di flusso per la sessione audio o il valore di un elemento matrice pfVolumes non si trova nell'intervallo 0.0 a 1.0.
E_POINTER
Il parametro pfVolumes è NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Il dispositivo endpoint audio è stato scollegato o 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 uno dei nuovi livelli di volume di canale differisca dal valore dei livelli del volume di canale precedenti.

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