Interface IChannelAudioVolume (audioclient.h)

L’interface IChannelAudioVolume permet à un client de contrôler et de surveiller les niveaux de volume de tous les canaux de la session audio auquel appartient le flux. Il s’agit de la session à laquelle le client a affecté le flux pendant l’appel à la méthode IAudioClient ::Initialize . Le client obtient une référence à l’interface IChannelAudioVolume sur un objet de flux en appelant la méthode IAudioClient ::GetService avec le paramètre riid défini sur REFIID IID_IChannelAudioVolume.

Le niveau de volume effectif de n’importe quel canal dans le sous-mix de session, tel qu’il est entendu aux intervenants, est le produit des quatre facteurs de niveau volume suivants :

  • Niveaux de volume par canal des flux dans la session, que les clients peuvent contrôler via les méthodes de l’interface IAudioStreamVolume .
  • Niveau de volume par canal de la session, que les clients peuvent contrôler via les méthodes de l’interface IChannelAudioVolume .
  • Le master niveau de volume de la session, que les clients peuvent contrôler via les méthodes de l’interface ISimpleAudioVolume.
  • Niveau de volume basé sur une stratégie de la session, que le système affecte dynamiquement à la session à mesure que la combinaison globale change.
Chacun des quatre facteurs de niveau volume de la liste précédente est une valeur comprise entre 0,0 et 1,0, où 0,0 indique le silence et 1,0 indique le volume complet (aucune atténuation). Le niveau de volume effectif est également une valeur comprise entre 0,0 et 1,0.

Les applications audio classiques ne modifient pas les niveaux de volume des sessions. Au lieu de cela, ils s’appuient sur les utilisateurs pour définir ces niveaux de volume par le biais du programme Sndvol. Sndvol modifie uniquement les niveaux de volume master des sessions. Par défaut, le gestionnaire de session définit les niveaux de volume par canal sur 1,0 lors de l’activation initiale d’une session. Les modifications de volume par canal ultérieures par les clients sont persistantes entre les redémarrages de l’ordinateur.

Lors de la libération d’une interface IChannelAudioVolume instance, le client doit appeler la méthode Release de l’interface à partir du même thread que l’appel à IAudioClient ::GetService qui a créé l’objet.

L’interface IChannelAudioVolume contrôle les volumes de canal dans une session audio. Une session audio est une collection de flux en mode partagé. Cette interface ne fonctionne pas avec les flux en mode exclusif. Pour plus d’informations sur les contrôles de volume pour les flux en mode exclusif, consultez API EndpointVolume.

Héritage

L’interface IChannelAudioVolume hérite de l’interface IUnknown. IChannelAudioVolume a également les types de membres suivants :

Méthodes

L’interface IChannelAudioVolume a ces méthodes.

 
IChannelAudioVolume ::GetAllVolumes

La méthode GetAllVolumes récupère les niveaux de volume de tous les canaux de la session audio.
IChannelAudioVolume ::GetChannelCount

La méthode GetChannelCount récupère le nombre de canaux au format de flux pour la session audio.
IChannelAudioVolume ::GetChannelVolume

La méthode GetChannelVolume récupère le niveau de volume pour le canal spécifié dans la session audio.
IChannelAudioVolume ::SetAllVolumes

La méthode SetAllVolumes définit les niveaux de volume individuels pour tous les canaux de la session audio.
IChannelAudioVolume ::SetChannelVolume

La méthode SetChannelVolume définit le niveau de volume pour le canal spécifié dans la session audio.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête audioclient.h

Voir aussi

Interfaces audio principales

IAudioClient ::GetService

IAudioClient ::Initialize

IAudioStreamVolume, interface

ISimpleAudioVolume, interface

WASAPI