Contrôles de volume
Les clients qui gèrent les flux en mode partagé utilisent généralement les interfaces ISimpleAudioVolume et IAudioSessionEvents dans wasAPI pour contrôler et surveiller les niveaux de volume de flux. Grâce aux méthodes de l’interface ISimpleAudioVolume, le client peut obtenir et définir les niveaux de volume des sessions audio auxquelles appartiennent les flux en mode partagé. Si Sndvol ou une autre application modifie le niveau du volume de session, le client peut recevoir une notification de la modification via l’interface IAudioSessionEvents.
Les clients qui gèrent des flux en mode exclusif utilisent généralement les interfaces IAudioEndpointVolume et IAudioEndpointVolumeCallback dans l’API EndpointVolume pour contrôler et surveiller les niveaux de volume de flux. Grâce aux méthodes de l’interface IAudioEndpointVolume, le client peut obtenir et définir le niveau de volume d’un appareil de point de terminaison audio . Si Sndvol ou une autre application modifie le niveau de volume de l’appareil de point de terminaison, le client peut recevoir une notification de la modification via l’interface IAudioEndpointVolumeCallback.
Comme expliqué dans sessions audio, Sndvol est le programme de contrôle de volume système. Il affiche les contrôles de volume pour les appareils de point de terminaison de rendu audio dans le système. (Actuellement, il n’affiche pas les contrôles de volume pour les appareils de point de terminaison de capture audio.) Pour afficher les contrôles de volume d’un appareil particulier, cliquez sur Appareil dans la barre de menus et sélectionnez un nom d’appareil dans la liste des appareils disponibles.
La fenêtre Sndvol sépare les contrôles de volume d’un appareil en deux groupes. La zone de groupe située à gauche de la fenêtre est étiquetée Appareil. La zone Device contient un contrôle de volume unique contrôlé par l’interface IAudioEndpointVolume. Les modifications apportées par l’utilisateur à ce contrôle de volume peuvent être surveillées via l’interface IAudioEndpointVolumeCallback.
La zone de groupe située à droite de la fenêtre Sndvol est étiquetée Applications. La zone Applications contient les contrôles de volume pour les applications qui partagent actuellement l’appareil. Pour les applications qui utilisent l’appareil en mode partagé, les contrôles de volume représentent les niveaux de volume contrôlés par l’interface ISimpleAudioVolume. Les modifications apportées par l’utilisateur à ces contrôles de volume peuvent être surveillées via l’interface IAudioSessionEvents.
Bien qu’une application en mode partagé puisse utiliser son interface IAudioSessionEvents pour surveiller les modifications apportées par l’utilisateur au contrôle de volume de l’application dans la zone Applications dans la fenêtre Sndvol, l’application ne peut pas surveiller les modifications apportées aux contrôles de volume d’autres applications non liées. De même, une application peut modifier les niveaux de volume de ses sessions audio via l’interface ISimpleAudioVolume, mais elle ne peut pas modifier les niveaux de volume des sessions qui appartiennent à d’autres applications non liées.
Toutefois, deux applications ou plusieurs applications associées (ou instances de la même application) peuvent partager le même contrôle de volume dans la zone Applications dans la fenêtre Sndvol en affectant leurs flux audio à la même session inter-processus ou en associant leurs sessions respectives au même paramètre de regroupement. Pour plus d’informations, consultez sessions audio et paramètres de regroupement.
WASAPI fournit deux interfaces supplémentaires, IChannelAudioVolume et IAudioStreamVolume, pour contrôler les niveaux de volume des flux en mode partagé. Ces interfaces sont principalement utilisées par des clients spécialisés qui nécessitent un contrôle sur les niveaux de volume des canaux individuels dans une session ou des flux individuels dans une session.
L’API DeviceTopology permet aux clients d’accéder aux contrôles de volume dans les topologies des adaptateurs audio. Toutefois, les clients qui gèrent des flux en mode exclusif utilisent généralement l’API EndpointVolume au lieu de l’API DeviceTopology pour contrôler les niveaux de volume de flux. L’API EndpointVolume simplifie le contrôle du volume d’un appareil de point de terminaison de deux façons. Tout d’abord, si un appareil de point de terminaison implémente un contrôle de volume matériel, l’API DeviceTopology exige que le client traverse la topologie d’appareil à la recherche du contrôle matériel. En revanche, l’API EndpointVolume recherche automatiquement le contrôle de volume matériel pour le client. Deuxièmement, si l’appareil de point de terminaison n’implémente pas de contrôle de volume matériel, un client DeviceTopology doit implémenter un contrôle de volume dans les logiciels. En revanche, l’API EndpointVolume remplace automatiquement un contrôle de volume logiciel pour le contrôle matériel manquant.
Les sections suivantes décrivent les contrôles de volume pour les sessions audio et pour les appareils de point de terminaison audio :
- contrôles de volume de session
- contrôles de volume de point de terminaison
- API EndpointVolume
- Audio-Tapered contrôles de volume
- pic de mètres
Rubriques connexes