DeviceTopology API
Consulte el ejemplo DMO de captura de voz de alta calidad de Microsoft.
La API DeviceTopology proporciona a las aplicaciones cliente la capacidad de recorrer las topologías de hardware funcional de los dispositivos de representación y captura de audio. A través de las interfaces y los métodos de la API DeviceTopology, los clientes pueden detectar las subunidades funcionales (por ejemplo, el control de volumen) que se encuentran a lo largo de las rutas de acceso de datos que conducen a y desde dispositivos de punto de conexión de audio. Los clientes pueden atravesar las topologías internas de los dispositivos del adaptador de audio y de los dispositivos de punto de conexión de audio y recorrer las conexiones que vinculan un dispositivo a otro. Para obtener más información, consulte Topologías de dispositivos.
El archivo de encabezado Devicetopology.h define las interfaces de la API DeviceTopology.
Para acceder a las interfaces de la API deviceTopology, un cliente primero obtiene una referencia a la interfaz IDeviceTopology de un dispositivo de punto de conexión de audio siguiendo estos pasos:
- Mediante el uso de una de las técnicas descritas en IMMDevice Interface, obtenga una referencia a la interfaz IMMDevice para un dispositivo de punto de conexión de audio.
- Llame al método IMMDevice::Activate con el parámetro iid establecido en REFIID IID_IDeviceTopology.
El cliente puede obtener referencias a las demás interfaces de la API DeviceTopology llamando a los métodos de la interfaz IDeviceTopology .
La API DeviceTopology implementa las siguientes interfaces.
Interfaz | Descripción |
---|---|
IAudioAutoGainControl | Proporciona acceso a un control de ganancia automática de hardware (AGC). |
IAudioBass | Proporciona acceso a un control de bajo de hardware. |
IAudioChannelConfig | Proporciona acceso a un control de configuración de canal de hardware. |
IAudioInputSelector | Proporciona acceso a un control de multiplexador de hardware (selector de entrada). |
IAudioLoudness | Proporciona acceso a un control de compensación de "ruidosidad". |
IAudioMidrange | Proporciona acceso a un control de nivel medio de hardware. |
IAudioMute | Proporciona acceso a un control de silenciación de hardware. |
IAudioOutputSelector | Proporciona acceso a un control demultiplexer de hardware (selector de salida). |
IAudioPeakMeter | Proporciona acceso a un control de medidor máximo de hardware. |
IAudioTreble | Proporciona acceso a un control de nivel de treble de hardware. |
IAudioVolumeLevel | Proporciona acceso a un control de volumen de hardware. |
IConnector | Representa un punto de conexión entre componentes. |
IControlInterface | Representa una interfaz de control de una parte (subunidad o conector). |
IDeviceSpecificProperty | Representa una propiedad específica del dispositivo de un conector o subunidad. |
IDeviceTopology | Proporciona acceso a la topología de un dispositivo de audio. |
IKsFormatSupport | Proporciona información sobre los formatos de datos de audio compatibles con una conexión de E/S configurada por software (normalmente un canal DMA) entre el dispositivo de audio y la memoria del sistema. |
IKsJackDescription | Proporciona información sobre los conectores o conectores internos que proporcionan una conexión física entre un dispositivo en un adaptador de audio y un dispositivo de punto de conexión externo o interno (por ejemplo, un micrófono o reproductor de CD). |
IPart | Representa una parte (conector o subunit) de una topología de dispositivo. |
IPartsList | Representa una lista de elementos (conectores y subunidades). |
IPerChannelDbLevel | Representa una interfaz de control de subunidad genérica que proporciona control por canal sobre el nivel de volumen, en decibelios, de una secuencia de audio o de una banda de frecuencia en una secuencia de audio. |
ISubunit | Representa una subunidad de hardware (por ejemplo, un control de nivel de volumen) que se encuentra en la ruta de acceso de datos entre un cliente y un dispositivo de punto de conexión de audio. |
Los clientes de la API DeviceTopology que requieren la notificación de eventos de cambio de control en conectores y subunits deben implementar la siguiente interfaz.
Interfaz | Descripción |
---|---|
IControlChangeNotify | Proporciona notificaciones cuando cambia el estado de un elemento (conector o subunidad). |
Temas relacionados