DeviceTopology API

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

L'API DeviceTopology offre alle applicazioni client la possibilità di attraversare le topologie hardware funzionali del rendering audio e dei dispositivi di acquisizione. Tramite le interfacce e i metodi nell'API DeviceTopology, i client possono individuare le sottounità funzionali (ad esempio, il controllo 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 Interfaccia IMMDevice, 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 (Hardware Automatic Gain Control).
IAudioBass Fornisce l'accesso a un controllo a livello di basso livello 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 di 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 misuratore 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.
IConnector 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 i connettori interni che forniscono una connessione fisica tra un dispositivo su 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 sottounità).
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 dati tra un client e un dispositivo endpoint audio.

 

I client DELL'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

Guida di riferimento alla programmazione