DeviceTopology API
Ознакомьтесь с примером высококачественной голосовой записи Майкрософт DMO.
API DeviceTopology предоставляет клиентским приложениям возможность обхода функциональных аппаратных топологий устройств отрисовки и захвата звука. С помощью интерфейсов и методов в API DeviceTopology клиенты могут обнаруживать функциональные подсоедины (например, управление громкостью), лежащие вдоль путей данных, которые приводят к устройствам конечной точки аудио и из нее. Клиенты могут проходить через внутренние топологии устройств аудиоадаптера и конечных точек звука, а также выполнять шаги между подключениями, которые связывают одно устройство с другим. Дополнительные сведения см. в разделе "Топологии устройств".
Файл заголовка Devicetopology.h определяет интерфейсы в API DeviceTopology.
Чтобы получить доступ к интерфейсам API DeviceTopology, клиент сначала получает ссылку на интерфейс IDeviceTopology для устройства звуковой конечной точки, выполнив следующие действия:
- Используя один из методов, описанных в интерфейсе IMMDevice, получите ссылку на интерфейс IMMDevice для устройства конечной точки аудио.
- Вызовите метод IMMDevice::Activate с параметром iid , равным REFIID IID_IDeviceTopology.
Клиент может получить ссылки на другие интерфейсы в API DeviceTopology, вызвав методы в интерфейсе IDeviceTopology .
API DeviceTopology реализует следующие интерфейсы.
Интерфейс | Описание |
---|---|
IAudioAutoGainControl | Предоставляет доступ к аппаратному автоматическому управлению получением (AGC). |
IAudioBass | Предоставляет доступ к аппаратному элементу управления уровня баса. |
IAudioChannelConfig | Предоставляет доступ к элементу управления конфигурации канала оборудования. |
IAudioInputSelector | Предоставляет доступ к аппаратному элементу управления мультиплексором (селектор ввода). |
IAudioLoudness | Предоставляет доступ к "громкому" контролю компенсации. |
IAudioMidrange | Предоставляет доступ к аппаратному элементу управления среднего уровня. |
IAudioMute | Предоставляет доступ к аппаратному отключению. |
IAudioOutputSelector | Предоставляет доступ к аппаратному элементу управления demultiplexer (селектор вывода). |
IAudioPeakMeter | Предоставляет доступ к аппаратному элементу управления пиковых показателей. |
IAudioTreble | Предоставляет доступ к аппаратному элементу управления требовательного уровня. |
IAudioVolumeLevel | Предоставляет доступ к аппаратному элементу управления громкости. |
IConnector | Представляет точку соединения между компонентами. |
IControlInterface | Представляет интерфейс элемента управления (подунить или соединитель). |
IDeviceSpecificProperty | Представляет свойство соединителя или подъединения, относящееся к устройству. |
IDeviceTopology | Предоставляет доступ к топологии звукового устройства. |
IKsFormatSupport | Предоставляет сведения о форматах аудиоданных, поддерживаемых программным подключением ввода-вывода (обычно канал DMA) между звуковым устройством и системной памятью. |
IKsJackDescription | Предоставляет сведения о разъемах или внутренних соединителях, которые обеспечивают физическое соединение между устройством на звуковом адаптере и внешним или внутренним устройством конечной точки (например, микрофоном или проигрывателем компакт-дисков). |
Параметрической детали | Представляет часть (соединитель или вложенный элемент) топологии устройства. |
IPartsList | Представляет список частей (соединителей и вложенных элементов). |
IPerChannelDbLevel | Представляет универсальный интерфейс управления подсоединения, который обеспечивает управление на уровне громкости в децибелах аудиопотока или полосы частоты в звуковом потоке. |
ISubunit | Представляет аппаратное подсоединение (например, элемент управления уровня громкости), лежащий в пути к данным между клиентом и устройством звуковой конечной точки. |
Клиенты API DeviceTopology, требующие уведомления о событиях изменения элемента управления в соединителях и вложенных элементах, должны реализовать следующий интерфейс.
Интерфейс | Описание |
---|---|
IControlChangeNotify | Предоставляет уведомления при изменении состояния части (соединителя или подуниверсии). |
Связанные темы