EndpointVolume API
L’API EndpointVolume permet aux clients spécialisés de contrôler et de surveiller les niveaux de volume des appareils de point de terminaison audio . Un client obtient des références aux interfaces de l’API EndpointVolume en obtenant l’interface IMMDevice d’un appareil de point de terminaison audio et en appelant la méthode IMMDevice ::Activate.
Le fichier d’en-tête Endpointvolume.h définit les interfaces dans l’API EndpointVolume.
Les applications audio qui utilisent l’API MMDevice et WASAPI utilisent généralement l’interface ISimpleAudioVolume pour contrôler les niveaux de volume par session. Seuls deux types d’applications audio nécessitent l’utilisation de l’API EndpointVolume. Ces types d’application sont les suivants :
- Applications qui gèrent les niveaux de volume maître des appareils de point de terminaison audio, similaires au programme de contrôle de volume Windows, Sndvol.exe.
- Applications audio professionnelles (« audio pro ») qui nécessitent un accès en mode exclusif aux appareils de point de terminaison audio.
L’utilisation inappropriée de l’API EndpointVolume peut interférer avec la stratégie audio Windows et perturber les paramètres de volume système de l’utilisateur.
Si un appareil de point de terminaison audio implémente des contrôles de volume matériel et de désactivation, l’API EndpointVolume utilise ces contrôles pour gérer le volume de l’appareil. Sinon, l’API EndpointVolume implémente les contrôles dans les logiciels, de manière transparente sur le client.
Si un appareil dispose de contrôles de volume matériel et de désactivation, les modifications apportées aux paramètres de volume et de désactivation de l’appareil via l’API EndpointVolume affectent le niveau de volume en mode partagé et en mode exclusif. Si un appareil ne dispose pas de contrôles de volume matériel et de désactivation, les modifications apportées au volume logiciel et aux contrôles de désactivation par le biais de l’API EndpointVolume affectent le niveau de volume en mode partagé, mais pas en mode exclusif. En mode exclusif, le client et l’appareil échangent directement des données audio, en contournant les contrôles logiciels.
Pour les applications qui doivent gérer les contrôles de volume matériel et de désactivation, l’API EndpointVolume offre deux avantages potentiels par rapport à l’API DeviceTopology.
Tout d’abord, un certain nombre d’appareils de carte audio ne disposent pas de contrôles de volume matériel. Si un appareil ne dispose pas d’un contrôle de volume matériel, l’interface IAudioEndpointVolume dans l’API EndpointVolume implémente automatiquement un contrôle de volume logiciel sur le flux vers ou depuis cet appareil. Pour un client de l’API EndpointVolume, le résultat est le même que le contrôle de volume soit implémenté dans le matériel par l’appareil ou dans le logiciel par l’interface de l’API EndpointVolume.
Deuxièmement, même si l’appareil adaptateur implémente des contrôles de volume matériel, une application qui utilise l’API DeviceTopology pour implémenter un algorithme de traversée de topologie peut échouer à trouver le contrôle qu’il recherche. En règle générale, une telle application est conçue pour parcourir la topologie matérielle d’un appareil particulier ou d’un ensemble d’appareils connexes. L’application risque d’échouer si elle tente de parcourir la topologie d’un appareil qu’elle n’a pas été spécifiquement conçue pour ou testée avec.
Seules les applications spécialisées qui doivent accéder aux fonctions matérielles autres que les contrôles de volume et de désactivation nécessitent l’utilisation de l’API DeviceTopology. Pour les applications qui nécessitent un contrôle uniquement du niveau de volume d’un flux en mode exclusif, l’API EndpointVolume est plus simple à utiliser et fonctionne de manière fiable avec une plus grande gamme d’appareils matériels audio.
Pour obtenir des exemples de code qui utilisent les interfaces dans l’API EndpointVolume, consultez les rubriques suivantes :
- contrôles de volume de point de terminaison
- pic de mètres
Pour afficher un exemple qui utilise l’API EndpointVolume, consultez EndpointVolume dans le Kit de développement logiciel (SDK) Windows.
L’API EndpointVolume implémente les interfaces suivantes.
Interface | Description |
---|---|
IAudioEndpointVolume | Représente les contrôles de volume sur le flux audio vers ou à partir d’un appareil de point de terminaison audio. |
IAudioMeterInformation | Représente un compteur de pointe sur le flux audio vers ou à partir d’un appareil de point de terminaison audio. |
En outre, les clients de l’API EndpointVolume qui nécessitent la notification de modifications de volume et de désactivation du volume dans les appareils de point de terminaison audio doivent implémenter l’interface suivante.
Interface | Description |
---|---|
IAudioEndpointVolumeCallback | Fournit des notifications lorsque le niveau de volume ou l’état de désactivation d’un appareil de point de terminaison audio change. |
Rubriques connexes