DeviceTopology API

Lihat sampel DMO pengambilan suara berkualitas tinggi Microsoft.

API DeviceTopology menyediakan aplikasi klien dengan kemampuan untuk melintasi topologi perangkat keras fungsional dari perangkat penyajian dan penangkapan audio. Melalui antarmuka dan metode dalam DEVICETopology API, klien dapat menemukan subunit fungsional (misalnya, kontrol volume) yang terletak di sepanjang jalur data yang mengarah ke dan dari perangkat titik akhir audio. Klien dapat melintasi topologi internal perangkat adaptor audio dan perangkat titik akhir audio dan melangkah melintasi koneksi yang menautkan satu perangkat ke perangkat lain. Untuk informasi selengkapnya, lihat Topologi Perangkat.

File header Devicetopology.h mendefinisikan antarmuka dalam API DeviceTopology.

Untuk mengakses antarmuka DEVICETopology API, klien terlebih dahulu mendapatkan referensi ke antarmuka IDeviceTopology untuk perangkat titik akhir audio dengan mengikuti langkah-langkah berikut:

  1. Dengan menggunakan salah satu teknik yang dijelaskan dalam Antarmuka IMMDevice, dapatkan referensi ke antarmuka IMMDevice untuk perangkat titik akhir audio.
  2. Panggil metode IMMDevice::Activate dengan parameter iid diatur ke REFIID IID_IDeviceTopology.

Klien dapat memperoleh referensi ke antarmuka lain di Api DeviceTopology dengan memanggil metode di antarmuka IDeviceTopology.

API DeviceTopology mengimplementasikan antarmuka berikut.

Antarmuka Deskripsi
IAudioAutoGainControl Menyediakan akses ke kontrol perolehan otomatis (AGC) perangkat keras.
IAudioBass Menyediakan akses ke kontrol tingkat bass perangkat keras.
IAudioChannelConfig Menyediakan akses ke kontrol konfigurasi saluran perangkat keras.
IAudioInputSelector Menyediakan akses ke kontrol multiplexer perangkat keras (pemilih input).
IAudioLoudness Menyediakan akses ke kontrol kompensasi "kenyaringan".
IAudioMidrange Menyediakan akses ke kontrol tingkat midrange perangkat keras.
IAudioMute Menyediakan akses ke kontrol bisu perangkat keras.
IAudioOutputSelector Menyediakan akses ke kontrol demultiplexer perangkat keras (pemilih output).
IAudioPeakMeter Menyediakan akses ke kontrol pengukur puncak perangkat keras.
IAudioTreble Menyediakan akses ke kontrol tingkat treble perangkat keras.
IAudioVolumeLevel Menyediakan akses ke kontrol volume perangkat keras.
Aku Koneksi or Mewakili titik koneksi antar komponen.
IControlInterface Mewakili antarmuka kontrol pada bagian (subunit atau konektor).
IDeviceSpecificProperty Mewakili properti khusus perangkat dari konektor atau subunit.
IDeviceTopology Menyediakan akses ke topologi perangkat audio.
IKsFormatSupport Menyediakan informasi tentang format data audio yang didukung oleh koneksi I/O yang dikonfigurasi perangkat lunak (biasanya saluran DMA) antara perangkat audio dan memori sistem.
IKsJackDescription Menyediakan informasi tentang jack atau konektor internal yang menyediakan koneksi fisik antara perangkat pada adaptor audio dan perangkat titik akhir eksternal atau internal (misalnya, mikrofon atau pemutar CD).
IPart Mewakili bagian (konektor atau subunit) dari topologi perangkat.
IPartsList Mewakili daftar bagian (konektor dan subunit).
IPerChannelDbLevel Mewakili antarmuka kontrol subunit generik yang menyediakan kontrol per saluran atas tingkat volume, dalam desibel, aliran audio atau pita frekuensi dalam aliran audio.
ISubunit Mewakili subunit perangkat keras (misalnya, kontrol tingkat volume) yang terletak di jalur data antara klien dan perangkat titik akhir audio.

 

Klien DEVICETopology API yang memerlukan pemberitahuan peristiwa perubahan kontrol di konektor dan subunit harus menerapkan antarmuka berikut.

Antarmuka Deskripsi
IControlChangeNotify Menyediakan pemberitahuan saat status bagian (konektor atau subunit) berubah.

 

Topologi Perangkat

Referensi Pemrograman