Основные звуковые интерфейсы
В этом справочнике по программированию для пакета 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 | Предоставляет уведомления о том, когда изменяется уровень громкости или отключение состояния устройства звуковой конечной точки. |