Condividi tramite


DeviceTopology API

Vedere l'esempio DMO di acquisizione vocale di alta qualità di Microsoft.

L'API DeviceTopology offre alle applicazioni client la possibilità di attraversare le topologie hardware funzionali del rendering e dell'acquisizione di dispositivi audio. Tramite le interfacce e i metodi nell'API DeviceTopology, i client possono individuare le sottounità funzionali (ad esempio, il controllo del volume) che si trovano lungo i percorsi di dati che portano a e da dispositivi endpoint audio. I client possono attraversare le topologie interne di dispositivi adattatori audio e dispositivi endpoint audio e passare attraverso le connessioni che collegano un dispositivo a un altro. Per altre informazioni, vedere Topologie di dispositivo.

Il file di intestazione Devicetopology.h definisce le interfacce nell'API DeviceTopology.

Per accedere alle interfacce API DeviceTopology, un client ottiene innanzitutto un riferimento all'interfaccia IDeviceTopology per un dispositivo endpoint audio seguendo questa procedura:

  1. Usando una delle tecniche descritte in IMMDevice Interface, ottenere un riferimento all'interfaccia IMMDevice per un dispositivo endpoint audio.
  2. Chiamare il metodo IMMDevice::Activate con il parametro iid impostato su REFIID IID_IDeviceTopology.

Il client può ottenere riferimenti alle altre interfacce nell'API DeviceTopology chiamando i metodi nell'interfaccia IDeviceTopology .

L'API DeviceTopology implementa le interfacce seguenti.

Interfaccia Descrizione
IAudioAutoGainControl Fornisce l'accesso a un controllo AGC (Automatic Gain Control) hardware.
IAudioBass Fornisce l'accesso a un controllo a livello di basso hardware.
IAudioChannelConfig Fornisce l'accesso a un controllo di configurazione del canale hardware.
IAudioInputSelector Fornisce l'accesso a un controllo multiplexer hardware (selettore di input).
IAudioLoudness Fornisce l'accesso a un controllo di compensazione "ad alta voce".
IAudioMidrange Fornisce l'accesso a un controllo a livello intermedio hardware.
IAudioMute Fornisce l'accesso a un controllo di disattivazione dell'hardware.
IAudioOutputSelector Fornisce l'accesso a un controllo demultiplexer hardware (selettore di output).
IAudioPeakMeter Fornisce l'accesso a un controllo del contatore di picco hardware.
IAudioTreble Fornisce l'accesso a un controllo a livello di treble hardware.
IAudioVolumeLevel Fornisce l'accesso a un controllo del volume hardware.
I Connessione or Rappresenta un punto di connessione tra i componenti.
IControlInterface Rappresenta un'interfaccia di controllo in una parte (subunit o connettore).
IDeviceSpecificProperty Rappresenta una proprietà specifica del dispositivo di un connettore o di una subunit.
IDeviceTopology Fornisce l'accesso alla topologia di un dispositivo audio.
IKsFormatSupport Fornisce informazioni sui formati di dati audio supportati da una connessione I/O configurata dal software (in genere un canale DMA) tra il dispositivo audio e la memoria di sistema.
IKsJackDescription Fornisce informazioni sui jack o sui connettori interni che forniscono una connessione fisica tra un dispositivo in una scheda audio e un dispositivo endpoint esterno o interno (ad esempio, un microfono o un lettore CD).
IPart Rappresenta una parte (connettore o subunit) di una topologia del dispositivo.
IPartsList Rappresenta un elenco di parti (connettori e sottouniti).
IPerChannelDbLevel Rappresenta un'interfaccia di controllo di subunit generica che fornisce il controllo per canale sul livello del volume, in decibel, di un flusso audio o di una banda di frequenza in un flusso audio.
ISubunit Rappresenta una subunit hardware (ad esempio, un controllo a livello di volume) che si trova nel percorso dei dati tra un client e un dispositivo endpoint audio.

 

I client API DeviceTopology che richiedono la notifica degli eventi di modifica del controllo nei connettori e nelle sottounit devono implementare l'interfaccia seguente.

Interfaccia Descrizione
IControlChangeNotify Fornisce notifiche quando lo stato di una parte (connettore o subunit) cambia.

 

Topologie di dispositivo

Informazioni di riferimento sulla programmazione