Partager via


Interface ISimpleAudioVolume (audioclient.h)

L’interface ISimpleAudioVolume permet à un client de contrôler le niveau de volume master d’une session audio. La méthode IAudioClient ::Initialize initialise un objet de flux et affecte le flux à une session audio. Le client obtient une référence à l’interface ISimpleAudioVolume sur un objet de flux en appelant la méthode IAudioClient ::GetService avec le paramètre riid défini sur REFIID IID_ISimpleAudioVolume.

Un client peut également obtenir l’interface ISimpleAudioVolume d’une session existante sans avoir à créer d’abord un objet de flux et à ajouter le flux à la session. Au lieu de cela, le client appelle la méthode IAudioSessionManager ::GetSimpleAudioVolume avec le GUID de session.

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 .
  • 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 par canal de la session, que les clients peuvent contrôler via les méthodes de l’interface IChannelAudioVolume .
  • 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 le niveau de volume master sur 1.0 lors de l’activation initiale d’une session. Les modifications de volume suivantes par Sndvol ou d’autres clients sont persistantes au cours des redémarrages de l’ordinateur.

Lors de la libération d’une interface ISimpleAudioVolume 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 ISimpleAudioVolume contrôle le volume d’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 ISimpleAudioVolume hérite de l’interface IUnknown. ISimpleAudioVolume a également les types de membres suivants :

Méthodes

L’interface ISimpleAudioVolume a ces méthodes.

 
ISimpleAudioVolume ::GetMasterVolume

La méthode GetMasterVolume récupère le niveau de volume client pour la session audio.
ISimpleAudioVolume ::GetMute

La méthode GetMute récupère l’état de désactivation actuel pour la session audio.
ISimpleAudioVolume ::SetMasterVolume

La méthode SetMasterVolume définit le niveau de volume master pour la session audio.
ISimpleAudioVolume ::SetMute

La méthode SetMute définit l’état de désactivation de la session audio.

Configuration requise

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

Voir aussi

Interfaces audio principales

IAudioClient ::GetService

IAudioClient ::Initialize

IAudioStreamVolume, interface

IChannelAudioVolume, interface

WASAPI