Справочник по DDI для звуковых устройств

Обзор эталонной технологии DDI для звуковых устройств.

Для разработки справочника по DDI для аудиоустройств вам потребуются следующие заголовки:

Рекомендации по программированию для этой технологии см. в следующих разделах:

Перечисления

 
APO_FLAG

Перечисление APO_FLAG определяет константы, используемые в качестве флагов объектом обработки звука (APO).
APO_LOG_LEVEL

Задает уровень события APO, зарегистрированного с помощью IAudioProcessingObjectLoggingService::ApoLog.
APO_NOTIFICATION_TYPE

Указывает тип APO_NOTIFICATION.
APO_REFERENCE_STREAM_PROPERTIES

Задает свойства потока замыкания на себя для метода обратного вызова IApoAcousticEchoCancellation2::GetDesiredReferenceStreamProperties.
AUDIO_SYSTEMEFFECT_STATE

Указывает состояние звукового эффекта sAPO.
DEVICE_ORIENTATION_TYPE

Задает значения ориентации устройства для уведомлений типа APO_NOTIFICATION_TYPE_DEVICE_ORIENTATION.
KSPROPERTY_AUDIOEFFECTSDISCOVERY

Перечисление KSPROPERTY_AUDIOEFFECTSDISCOVERY определяет константу, используемую списком объектов аудиообработки (APOs).

Функции

 
AcceptInput

Предоставляет входные данные для APO в одном из его вспомогательных входов.
AddAuxiliaryInput

Добавляет вспомогательные входные данные в APO и предоставляет параметры инициализации.
AERT_Allocate

Служебная функция AERT_Allocate выделяет и блокирует сегмент памяти для использования объектами обработки звука.
AERT_Free

Служебная функция AERT_Free освобождает память, заблокированную функцией AERT_Allocate, для использования объектами обработки звука для обработки звуковых данных.
ApoLog

Регистрирует событие APO.
APOProcess

Метод APOProcess приводит к тому, что APO выполняет проход обработки.
CalcInputFrames

Метод CalcInputFrames возвращает количество входных кадров, необходимое APO для создания заданного количества выходных кадров.
CalcOutputFrames

Метод CalcOutputFrames возвращает количество выходных кадров, необходимых APO для заданного количества входных кадров.
Фиксация

После внесения изменений этот метод сохраняет изменения.
CreateAudioMediaType

Функция CreateAudioMediaType использует формат, заданный вызывающим объектом, для создания объекта типа мультимедиа, описывающего формат звука.
CreateAudioMediaTypeFromUncompressedAudioFormat

Функция CreateAudioMediaTypeFromUncompressedAudioFormat использует сведения, предоставленные в структуре UNCOMPRESSEDAUDIOFORMAT, для создания объекта типа мультимедиа, описывающего аудиоформат.
GetApoNotificationRegistrationInfo

Вызывается системой, чтобы разрешить клиентам регистрироваться для получения обратных вызовов уведомлений для конечной точки APO и уведомлений о эффектах системы.
GetApoNotificationRegistrationInfo2

Вызывается системой, чтобы разрешить клиентам регистрироваться для получения обратных вызовов уведомлений для конечной точки APO и уведомлений о эффектах системы. Этот метод добавляет параметр, который можно использовать для определения типов уведомлений, поддерживаемых в версии Windows, работающей на текущем устройстве.
Getat

Возвращает ключ свойства из массива свойств элемента.
GetAudioFormat

Метод GetAudioFormat возвращает структуру WAVEFORMATEX для формата аудиоданных.
GetControllableSystemEffectsList

Реализованы звуковые эффекты объекта sAPO, позволяющие вызывающему объекту получить текущий список эффектов.
GetCount

Этот метод возвращает количество свойств, присоединенных к файлу.
GetDesiredReferenceStreamProperties

Запрашивает набор свойств для потока замыкания на себя, если они поддерживаются в связанной конечной точке звука.
GetEffectsList

Метод GetEffectsList используется для получения списка активных в данный момент эффектов обработки звука и сохраняет событие, которое будет сигнализироваться при изменении списка.
Getformat

Метод GetFormat извлекает представление пользовательского формата IAudioMediaType.
GetFormatCount

Метод GetFormatCount извлекает количество настраиваемых форматов, поддерживаемых объектом обработки звука (sAPO) системных эффектов.
GetFormatRepresentation

Метод GetFormatRepresentation извлекает строковое представление настраиваемого формата, чтобы его можно было отобразить в пользовательском интерфейсе.
GetInputChannelCount

GetInputChannelCount возвращает количество входных каналов (примеров на кадр) для этого APO.
GetLatency

Метод GetLatency возвращает задержку для этого объекта APO. Задержка — это время, необходимое кадру для прохода обработки объекта APO.
GetPreferredInputFormat

Функция обратного вызова, которая позволяет apos указывать предпочтительный формат входных данных для предоставленного формата вывода.
GetPreferredOutputFormat

Функция обратного вызова, которая позволяет apos указать предпочтительный формат вывода для предоставленного входного формата.
GetRealTimeWorkQueue

Возвращает идентификатор рабочей очереди, которую APO может использовать для планирования задач, которые должны выполняться с приоритетом в режиме реального времени.
GetRegistrationProperties

GetRegistrationProperties возвращает свойства регистрации объекта обработки звука (APO).
GetUncompressedAudioFormat

IAudioMediaType::GetUncompressedAudioFormat возвращает сведения о формате аудиоданных.
GetValue

Этот метод извлекает данные для определенного свойства.
HandleNotification

Вызывается системой для уведомления клиентов об изменениях конечных точек APO или системных эффектов.
Initialize

Метод Initialize инициализирует объект APO и поддерживает данные переменной длины.
IsCompressedFormat

Метод IsCompressedFormat определяет, является ли формат звуковых данных сжатым.
IsEqual

Метод IsEqual сравнивает два типа носителей и определяет, идентичны ли они.
IsInputFormatSupported

Проверяет, поддерживается ли APO определенный вспомогательный формат входных данных.
IsInputFormatSupported

Этот метод согласовывает с подсистемой звука Windows Vista, чтобы установить формат данных для потока звуковых данных.
IsOutputFormatSupported

Метод IsOutputFormatSupported используется для проверки поддержки определенного формата вывода.
LockForProcess

Метод LockForProcess используется для проверки того, что APO заблокирован и готов к обработке данных.
RemoveAuxiliaryInput

Удаляет вспомогательные входные данные из APO.
Сброс

Метод Reset сбрасывает объект APO в исходное состояние. Этот метод не вызывает никаких изменений в объектах подключения, присоединенных к входным или выходным данным APO.
SetAudioDeviceModulesManager

Вызывается системой для передачи экземпляра IAudioDeviceModulesManager объектам обработки аудио (APOs), реализующим интерфейс IAudioDeviceModulesClient .
SetAudioSystemEffectState

Реализованы звуковые эффекты объекта sAPO, позволяющие вызывающему объекту задать состояние эффектов.
SetValue

Этот метод задает значение свойства, заменяет или удаляет существующее значение.
UnlockForProcess

Метод UnlockForProcess освобождает блокировку, наложенную на APO методом LockForProcess.

Интерфейсы

 
IApoAcousticechoCancellation

Этот интерфейс реализуется apos для реализации сценариев акустической эхо-подавления (AEC).
IApoAcousticechoCancellation2

Расширяет возможности IAcousticEchoCancellation, чтобы разрешить apos указывать требуемые свойства ссылочного потока.
IApoAuxiliaryInputConfiguration

Предоставляет методы, которые api-интерфейсы могут реализовать для добавления и удаления вспомогательных входных потоков.
IApoAuxiliaryInputRT

Безопасный в реальном времени интерфейс, используемый для управления вспомогательными входными данными APO.
IAudioDeviceModulesClient

Объекты аудиообработки реализуют этот интерфейс для получения ссылки на экземпляр IAudioDeviceModulesManager .
IAudioMediaType

Интерфейс IAudioMediaType предоставляет методы, позволяющие sAPO получать сведения, используемые для согласования с обработчиком звука для соответствующего формата аудиоданных.
IAudioProcessingObject

Объекты обработки звука (SAPOS) с системными эффектами обычно используются в потоках процессов реального времени или вызываются из них.
IAudioProcessingObjectConfiguration

Интерфейс IAudioProcessingObjectConfiguration используется для настройки APO. Этот интерфейс использует свои методы для блокировки и разблокировки APO для обработки.
IAudioProcessingObjectLoggingService

Представляет службу ведения журнала для APOs.
IAudioProcessingObjectNotifications

Реализовано клиентами для регистрации и получения стандартных звуковых уведомлений для конечных точек APO и уведомлений о эффектах системы.
IAudioProcessingObjectNotifications2

Реализовано клиентами для регистрации и получения стандартных звуковых уведомлений для конечных точек APO и уведомлений о эффектах системы. Этот интерфейс добавляет возможность определять типы уведомлений, поддерживаемые в в версии Windows, работающей на текущем устройстве.
IAudioProcessingObjectPreferredFormatSupport

Этот интерфейс реализуется APOs, чтобы позволить им указать предпочтительный формат ввода или вывода.
IAudioProcessingObjectRT

Этот интерфейс может работать в режиме реального времени, а его методы можно назвать потоками обработки в режиме реального времени.
IAudioProcessingObjectRTQueueService

Представляет службу рабочих очередей в реальном времени для APOs.
IAudioSystemEffects

Интерфейс IAudioSystemEffects использует базовые методы, унаследованные от IUnknown, и должен реализовывать метод Initialize.
IAudioSystemEffects2

Интерфейс IAudioSystemEffects2 появился с Windows 8.1 для получения сведений об объектах обработки в заданном режиме.
IAudioSystemEffects3

Реализуется клиентами, которым требуется передать структуру APOInitSystemEffects3 в метод IAudioProcessingObject::Initialize.
IAudioSystemEffectsCustomFormats

Интерфейс IAudioSystemEffectsCustomFormats поддерживается в Windows Vista и более поздних версиях Windows.
IPropertyStore

Этот интерфейс предоставляет методы, используемые для перечисления значений свойств и управления ими.

Структуры

 
AcousticEchoCanceller_Reference_Input

Содержит развернутые сведения, относящиеся к текущей конфигурации AEC.
APO_NOTIFICATION

Представляет уведомление об изменении конечных точек APO или системных эффектов.
APO_NOTIFICATION_DESCRIPTOR

Указывает запрошенное уведомление APO.
APO_REG_PROPERTIES

Структура APO_REG_PROPERTIES используется IAudioProcessingObject::GetRegistrationProperties для возврата свойств регистрации объекта обработки звука (APO).
APOInitBaseStruct

Структура APOInitBaseStruct — это базовый заголовок инициализации, который должен предшествовать другим данным инициализации в IAudioProcessingObject::Initialize.
APOInitSystemEffects

Структура APOInitSystemEffects передается в APO системных эффектов для инициализации.
APOInitSystemEffects2

Структура APOInitSystemEffects2 появилась вместе с Windows 8.1, чтобы обеспечить дополнительный контекст инициализации объекта обработки звука (APO) для инициализации.
APOInitSystemEffects3

Предоставляет параметры инициализации APO, расширяя возможности APOInitSystemEffects2, чтобы добавить возможность указывать поставщика услуг для ведения журнала.
AUDIO_ENDPOINT_PROPERTY_CHANGE_APO_NOTIFICATION_DESCRIPTOR

Указывает уведомление APO об изменении свойства конечной точки.
AUDIO_ENDPOINT_PROPERTY_CHANGE_NOTIFICATION

Представляет уведомление APO об изменении свойства.
AUDIO_ENDPOINT_VOLUME_APO_NOTIFICATION_DESCRIPTOR

Указывает уведомление APO тома конечной точки.
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION

Представляет уведомление APO об изменении громкости конечной точки звука.
AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2

Представляет уведомление APO об изменении громкости конечной точки звука. Это обновленная версия AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION, которая предоставляет дополнительные сведения о событии изменения тома.
AUDIO_ENVIRONMENT_STATE_CHANGE_NOTIFICATION

Представляет уведомление APO об изменении звуковой среды.
AUDIO_MICROPHONE_BOOST_APO_NOTIFICATION_DESCRIPTOR

Указывает уведомление о повышении APO для микрофона конечной точки.
AUDIO_MICROPHONE_BOOST_NOTIFICATION

Представляет уведомление APO о повышении звукового микрофона.
AUDIO_SYSTEMEFFECT

Представляет звуковой эффект объекта sAPO системных эффектов.
AUDIO_SYSTEMEFFECTS_PROPERTY_CHANGE_NOTIFICATION

Представляет уведомление APO о системном звуковом эффекте.
AUDIO_VOLUME_NOTIFICATION_DATA2

Представляет сведения о событии уведомления об изменении тома. Эта структура используется структурой AUDIO_ENDPOINT_VOLUME_CHANGE_NOTIFICATION2.
KSP_PINMODE

Структура KSP_PINMODE указывает свойство pin и поддерживаемые режимы обработки звука для фабрики контактов.
MDEVICECAPSEX

Структура MDEVICECAPSEX содержит сведения о возможностях устройств для драйверов устройств Plug and Play (PnP).
MIDIOPENDESC

Структура MIDIOPENDESC — это структура, заполненная клиентом, которая предоставляет сведения о том, как открыть устройство MIDI.
UNCOMPRESSEDAUDIOFORMAT

Структура UNCOMPRESSEDAUDIOFORMAT определяет частоту кадров, маску канала и другие атрибуты несжатого формата аудиоданных.
WAVEFORMATEX

Структура WAVEFORMATEX определяет формат данных волнового звукового потока.