Interfaccia IChannelAudioVolume (audioclient.h)

L'interfaccia IChannelAudioVolume consente a un client di controllare e monitorare i livelli di volume per tutti i canali nella sessione audio a cui appartiene il flusso. Questa è la sessione a cui il client ha assegnato il flusso durante la chiamata al metodo IAudioClient::Initialize . Il client ottiene un riferimento all'interfaccia IChannelAudioVolume in un oggetto flusso chiamando il metodo IAudioClient::GetService con il parametro riid impostato su REFIID IID_IChannelAudioVolume.

Il livello di volume effettivo di qualsiasi canale nel submix della sessione, come sentito agli altoparlanti, è il prodotto dei quattro fattori a livello di volume seguenti:

  • Livelli di volume per canale dei flussi nella sessione, che i client possono controllare tramite i metodi nell'interfaccia IAudioStreamVolume .
  • Livello di volume per canale della sessione, che i client possono controllare tramite i metodi nell'interfaccia IChannelAudioVolume .
  • Livello di volume master della sessione, che i client possono controllare tramite i metodi nell'interfaccia ISimpleAudioVolume .
  • Livello di volume basato su criteri della sessione, che il sistema assegna dinamicamente alla sessione man mano che cambia la combinazione globale.
Ognuno dei quattro fattori a livello di volume nell'elenco precedente è un valore compreso nell'intervallo da 0,0 a 1,0, dove 0,0 indica il silenzio e 1,0 indica il volume completo (nessuna attenuazione). Il livello di volume effettivo è anche un valore compreso nell'intervallo da 0,0 a 1,0.

Le applicazioni audio tipiche non modificano i livelli di volume delle sessioni. Si basano invece sugli utenti per impostare questi livelli di volume tramite il programma Sndvol. Sndvol modifica solo i livelli di volume master delle sessioni. Per impostazione predefinita, gestione sessione imposta i livelli di volume per canale su 1.0 all'attivazione iniziale di una sessione. Le successive modifiche al volume per canale da parte dei client sono persistenti tra i riavvii del computer.

Quando si rilascia un'istanza dell'interfaccia IChannelAudioVolume , il client deve chiamare il metodo Release dell'interfaccia dallo stesso thread della chiamata a IAudioClient::GetService che ha creato l'oggetto.

L'interfaccia IChannelAudioVolume controlla i volumi del canale in una sessione audio. Una sessione audio è una raccolta di flussi in modalità condivisa. Questa interfaccia non funziona con flussi in modalità esclusiva. Per informazioni sui controlli del volume per flussi in modalità esclusiva, vedere API EndpointVolume.

Ereditarietà

L'interfaccia IChannelAudioVolume eredita dall'interfaccia IUnknown . IChannelAudioVolume ha anche questi tipi di membri:

Metodi

L'interfaccia IChannelAudioVolume include questi metodi.

 
IChannelAudioVolume::GetAllVolumes

Il metodo GetAllVolumes recupera i livelli di volume per tutti i canali nella sessione audio.
IChannelAudioVolume::GetChannelCount

Il metodo GetChannelCount recupera il numero di canali nel formato di flusso per la sessione audio.
IChannelAudioVolume::GetChannelVolume

Il metodo GetChannelVolume recupera il livello di volume per il canale specificato nella sessione audio.
IChannelAudioVolume::SetAllVolumes

Il metodo SetAllVolumes imposta i singoli livelli di volume per tutti i canali nella sessione audio.
IChannelAudioVolume::SetChannelVolume

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

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

Interfacce audio di base

IAudioClient::GetService

IAudioClient::Initialize

Interfaccia IAudioStreamVolume

Interfaccia ISimpleAudioVolume

WASAPI