DeviceTopology API
DeviceTopology API 可讓用戶端應用程式周遊音頻轉譯和擷取裝置的功能硬體拓撲。 透過 DeviceTopology API 中的介面和方法,用戶端可以探索功能子單位(例如音量控制),這些子單位位於導致音頻端點裝置的數據路徑上。 用戶端可以周遊音訊配接器裝置和音訊端點裝置的內部拓撲,並逐步執行將一部裝置連結至另一個裝置的連線。 如需詳細資訊,請參閱 裝置拓撲。
頭檔 Devicetopology.h 定義 DeviceTopology API 中的介面。
若要存取 DeviceTopology API 介面,用戶端會遵循下列步驟,先取得音訊端點裝置之 IDeviceTopology 介面的參考:
- 藉由使用 IMMDevice 介面中所述的其中一種技術,取得音訊端點裝置之 IMMDevice 介面的參考。
- 呼叫 IMMDevice::Activate 方法,並將參數 iid 設定為 REFIID IID_IDeviceTopology。
用戶端可以藉由呼叫 IDeviceTopology 介面中的 方法,來取得 DeviceTopology API 中其他介面的參考。
DeviceTopology API 會實作下列介面。
介面 | 描述 |
---|---|
IAudioAutoGainControl | 提供硬體自動增益控制 (AGC) 的存取權。 |
IAudioBass | 提供硬體低音層級控件的存取權。 |
IAudioChannelConfig | 提供硬體通道元件的存取權。 |
IAudioInputSelector | 提供硬體多任務器控件的存取權(輸入選取器)。 |
IAudioLoudness | 提供「響度」補償控件的存取權。 |
IAudioMidrange | 提供硬體中層控件的存取權。 |
IAudioMute | 提供硬體靜音控件的存取權。 |
IAudioOutputSelector | 提供硬體解譯器控件的存取權(輸出選取器)。 |
IAudioPeakMeter | 提供硬體尖峰計量控件的存取權。 |
IAudioTreble | 提供硬體高階控件的存取權。 |
IAudioVolumeLevel | 提供硬體磁碟區控件的存取權。 |
I 連線 or | 表示元件之間的連接點。 |
IControlInterface | 表示元件上的控制項介面(子單位或連接器)。 |
IDeviceSpecificProperty | 表示連接器或子單位的裝置特定屬性。 |
IDeviceTopology | 提供音訊裝置拓撲的存取權。 |
IKsFormatSupport | 提供音訊裝置與系統記憶體之間軟體設定 I/O 連線(通常是 DMA 通道)所支援的音訊數據格式相關信息。 |
IKsJackDescription | 提供插孔或內部連接器的相關信息,這些連接器可在音訊適配卡上的裝置與外部或內部端點裝置之間提供實體連線(例如麥克風或 CD 播放器)。 |
IPart | 表示裝置拓撲的元件(連接器或子單位)。 |
IPartsList | 代表元件清單(連接器和子單位)。 |
IPerChannelDbLevel | 表示泛型子單位控件介面,該介面會針對音訊數據流中的音訊數據流或音訊串流中的頻率頻帶,提供音量層級的個別通道控制。 |
ISubunit | 表示位於用戶端與音訊端點裝置之間數據路徑的硬體子單位(例如音量層級控件)。 |
需要連接器和子單位中控制變更事件的通知的 DeviceTopology API 用戶端應該實作下列介面。
介面 | 描述 |
---|---|
IControlChangeNotify | 當元件的狀態(連接器或子單位)變更時,提供通知。 |
相關主題