Compartir a través de


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:

  1. 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.
  2. 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).

 

Topologías de dispositivos

Referencia de programación