Основные звуковые интерфейсы

В этом справочнике по программированию для пакета SDK для core Audio SDK содержатся следующие интерфейсы:

MMDevice API

API мультимедийного устройства Windows (MMDevice) позволяет аудио-клиентам обнаруживать устройства конечной точки звука, определять их возможности и создавать экземпляры драйверов для этих устройств. Файл заголовка Mmdeviceapi.h определяет интерфейсы в API MMDevice. Дополнительные сведения см. в разделе о API MMDevice.

В следующей таблице перечислены интерфейсы MMDevice, доступные с помощью основного пакета SDK для аудио для Windows Vista.

Интерфейс Description
IMMDevice Представляет звуковое устройство.
IMMDeviceCollection Представляет коллекцию звуковых устройств.
IMMDeviceEnumerator Предоставляет методы перечисления звуковых устройств.
IMMEndpoint Представляет устройство конечной точки аудио.
IMMNotificationClient Предоставляет уведомления о добавлении или удалении устройства аудио конечной точки при изменении состояния или свойств устройства или при изменении роли по умолчанию, назначенной устройству.

WASAPI

API сеанса аудио Windows (WASAPI) позволяет клиентским приложениям управлять потоком звуковых данных между приложением и устройством аудио конечной точки. Файлы заголовков Audioclient.h и Audiopolicy.h определяют интерфейсы WASAPI. Дополнительные сведения см. в разделе "О WASAPI".

В следующей таблице перечислены интерфейсы WASAPI, доступные с помощью основного пакета SDK для аудио для Windows Vista и более поздних версий.

Интерфейс Description
IActivateAudioInterfaceAsyncOperation Представляет асинхронную операцию активации интерфейса WASAPI и предоставляет метод для получения результатов активации.
Применяется начиная с Windows 8.
IActivateAudioInterfaceCompletionHandler Предоставляет обратный вызов, указывающий, что активация интерфейса WASAPI завершена.
Применяется начиная с Windows 8.
IAudioCaptureClient Позволяет клиенту считывать входные данные из буфера конечной точки записи.
IAudioClient Позволяет клиенту создавать и инициализировать аудиопоток между звуковым приложением и подсистемой аудио или аппаратным буфером устройства аудио конечной точки.
IAudioClock Позволяет клиенту отслеживать скорость данных потока и текущую позицию в потоке.
IAudioClock2
Позволяет клиенту получить текущее положение устройства.
IAudioClockAdjustment
Позволяет клиенту задать частоту выборки потока.
IAudioRenderClient Позволяет клиенту записывать выходные данные в буфер конечной точки отрисовки.
IAudioSessionControl Позволяет клиенту настраивать параметры управления для звукового сеанса и отслеживать события в сеансе.
IAudioSessionControl2
Позволяет клиенту получать сведения о звуковом сеансе.
IAudioSessionManager Позволяет клиенту получать доступ к элементам управления сеансом и элементам управления громкости для сеансов между процессами и процессами.
IAudioSessionManager2
Управляет всеми подмиксами, включая перечисление и уведомление подмиксов. Она также обеспечивает поддержку утихих уведомлений.
IAudioSessionEnumerator
Позволяет клиенту перечислять звуковые сеансы.
IAudioStreamVolume Позволяет клиенту контролировать и отслеживать уровни громкости для всех каналов в звуковом потоке.
IChannelAudioVolume Позволяет клиенту управлять уровнями томов для всех каналов в звуковом сеансе, к которому принадлежит поток.
ISimpleAudioVolume Позволяет клиенту управлять уровнем основного тома сеанса звука.
IAudioSessionEvents Предоставляет уведомления о событиях, связанных с сеансом, таких как изменения уровня тома, отображаемое имя и состояние сеанса.
IAudioSessionNotification
Отправляет уведомления при изменении сеанса.
IAudioVolumeDuckNotification
Отправляет уведомления о ожидающих изменениях в системе.

DeviceTopology API

API DeviceTopology предоставляет клиентские приложения с возможностью обхода функциональных аппаратных топологий устройств отрисовки и записи звука. Файл заголовка Devicetopology.h определяет интерфейсы в API DeviceTopology. Дополнительные сведения см. в разделе "Топологии устройств" и API DeviceTopology.

В следующей таблице перечислены интерфейсы DeviceTopology, доступные с помощью основного пакета SDK для аудио для Windows Vista и более поздних версий.

Интерфейс Description
IAudioAutoGainControl Предоставляет доступ к аппаратному автоматическому управлению получением (AGC).
IAudioBass Предоставляет доступ к аппаратному элементу управления басового уровня.
IAudioChannelConfig Предоставляет доступ к элементу управления конфигурации канала оборудования.
IAudioInputSelector Предоставляет доступ к аппаратному элементу управления мультиплексором (селектор ввода).
IAudioLoudness Предоставляет доступ к контролю за "громкость" компенсации.
IAudioMidrange Предоставляет доступ к аппаратному элементу управления среднего уровня.
IAudioMute Предоставляет доступ к аппаратному элементу управления выключения.
IAudioOutputSelector Предоставляет доступ к аппаратному элементу управления demultiplexer (селектор вывода).
IAudioPeakMeter Предоставляет доступ к аппаратному элементу управления пикового измерения.
IAudioTreble Предоставляет доступ к аппаратному элементу управления с трепетным уровнем.
IAudioVolumeLevel Предоставляет доступ к аппаратному элементу управления томами.
I Подключение or Представляет точку соединения между компонентами.
IControlInterface Представляет интерфейс элемента управления (подъединений или соединителя).
IDeviceSpecificProperty Представляет свойство для конкретного устройства соединителя или подъединения.
IDeviceTopology Предоставляет доступ к топологии звукового устройства.
IKsFormatSupport Предоставляет сведения о форматах аудиоданных, поддерживаемых программным подключением ввода-вывода (обычно канал DMA) между звуковым устройством и системной памятью.
IKsJackDescription Предоставляет сведения о разъемах или внутренних соединителях, которые обеспечивают физическое подключение между устройством на звуковом адаптере и внешнем или внутреннем устройстве конечной точки (например, микрофоном или проигрывателем компакт-дисков).
IKsJackDescription2
Предоставляет удобный доступ к свойству KSPROPERTY_JACK_DESCRIPTION2 соединителя к устройству конечной точки.
IKsJackSinkInformation
Предоставляет сведения о приемнике джека, если разъем поддерживается оборудованием.
Параметрической детали Представляет часть (соединитель или подсеть) топологии устройства.
IPartsList Представляет список частей (соединителей и вложенных элементов).
IPerChannelDbLevel Представляет универсальный интерфейс управления подсоединения, обеспечивающий управление на уровне громкости в децибелях аудиопотока или полосы частоты в звуковом потоке.
ISubunit Представляет аппаратный подсоединение (например, элемент управления уровня тома), который находится в пути к данным между клиентом и устройством аудио конечной точки.
IControlChangeNotify Предоставляет уведомления при изменении состояния части (соединителя или подъединения).

EndpointVolume API

API EndpointVolume позволяет специализированным клиентам контролировать и отслеживать уровни громкости устройств аудиоконечной точки. Файл заголовка Endpointvolume.h определяет интерфейсы в API EndpointVolume. Дополнительные сведения см. в разделе API EndpointVolume.

В следующей таблице перечислены интерфейсы EndpointVolume, доступные с помощью основного пакета SDK для аудио для Windows Vista.

Интерфейс Description
IAudioEndpointVolume Представляет элементы управления громкостями в звуковом потоке или с устройства конечной точки аудио.
IAudioEndpointVolumeEx
Предоставляет элементы управления громкости в аудиопотоке или из конечной точки устройства.
IAudioMeterInformation Представляет пиковый метр на аудиопотоке или с устройства аудио конечной точки.
IAudioEndpointVolumeCallback Предоставляет уведомления о том, когда изменяется уровень громкости или отключение состояния устройства звуковой конечной точки.

Справочник по программированию