Partager via


DeviceTopology API

Consultez l’exemple DMO de capture vocale de haute qualité Microsoft.

L’API DeviceTopology fournit aux applications clientes la possibilité de parcourir les topologies matérielles fonctionnelles du rendu audio et des périphériques de capture. Grâce aux interfaces et méthodes de l’API DeviceTopology, les clients peuvent découvrir les sous-unités fonctionnelles (par exemple, le contrôle de volume) qui se trouvent le long des chemins de données qui mènent à des appareils de point de terminaison audio . Les clients peuvent parcourir les topologies internes des périphériques de carte audio et des appareils de point de terminaison audio et parcourir les connexions qui lient un appareil à un autre. Pour plus d’informations, consultez topologies d’appareils.

Le fichier d’en-tête Devicetopology.h définit les interfaces de l’API DeviceTopology.

Pour accéder aux interfaces API DeviceTopology, un client obtient d’abord une référence à l’interface IDeviceTopology pour un appareil de point de terminaison audio en procédant comme suit :

  1. À l’aide de l’une des techniques décrites dans interface IMMDevice, obtenez une référence à l’interface IMMDevice pour un appareil de point de terminaison audio.
  2. Appelez la méthode IMMDevice ::Activate avec le paramètre iid défini sur IID_IDeviceTopology REFIID.

Le client peut obtenir des références aux autres interfaces de l’API DeviceTopology en appelant les méthodes de l’interface IDeviceTopology.

L’API DeviceTopology implémente les interfaces suivantes.

Interface Description
IAudioAutoGainControl Fournit l’accès à un contrôle de gain automatique (AGC) matériel.
IAudioBass Fournit l’accès à un contrôle de bass-level matériel.
IAudioChannelConfig Fournit l’accès à un contrôle de configuration de canal matériel.
IAudioInputSelector Fournit l’accès à un contrôle de multiplexeur matériel (sélecteur d’entrée).
IAudioLoudness Fournit l’accès à un contrôle de compensation de « bruit ».
IAudioMidrange Fournit l’accès à un contrôle de niveau intermédiaire matériel.
IAudioMute Fournit l’accès à un contrôle de désactivation du matériel.
IAudioOutputSelector Fournit l’accès à un contrôle de démultiplexeur matériel (sélecteur de sortie).
IAudioPeakMeter Fournit l’accès à un contrôle de compteur de pointe matériel.
IAudioTreble Fournit l’accès à un contrôle au niveau du matériel.
IAudioVolumeLevel Fournit l’accès à un contrôle de volume matériel.
IConnector Représente un point de connexion entre les composants.
IControlInterface Représente une interface de contrôle sur une partie (sous-unité ou connecteur).
IDeviceSpecificProperty Représente une propriété spécifique à l’appareil d’un connecteur ou d’une sous-unité.
IDeviceTopology Fournit l’accès à la topologie d’un appareil audio.
IKsFormatSupport Fournit des informations sur les formats de données audio pris en charge par une connexion d’E/S configurée par logiciel (généralement un canal DMA) entre l’appareil audio et la mémoire système.
IKsJackDescription Fournit des informations sur les jacks ou les connecteurs internes qui fournissent une connexion physique entre un appareil sur une carte audio et un périphérique de point de terminaison externe ou interne (par exemple, un microphone ou un lecteur CD).
IPart Représente une partie (connecteur ou sous-unité) d’une topologie d’appareil.
IPartsList Représente une liste de parties (connecteurs et sous-unités).
IPerChannelDbLevel Représente une interface de contrôle sous-unité générique qui fournit un contrôle par canal sur le niveau de volume, en décbels, d’un flux audio ou d’une bande de fréquences dans un flux audio.
ISubunit Représente une sous-unité matérielle (par exemple, un contrôle au niveau du volume) qui se trouve dans le chemin de données entre un client et un périphérique de point de terminaison audio.

 

Les clients d’API DeviceTopology qui nécessitent la notification des événements de modification de contrôle dans les connecteurs et les sous-unités doivent implémenter l’interface suivante.

Interface Description
IControlChangeNotify Fournit des notifications lorsque l’état d’une partie (connecteur ou sous-unité) change.

 

topologies d’appareils

de référence de programmation