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 :
- À 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.
- 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. |
Rubriques connexes