API-интерфейсы XAudio2

Обзор технологии API XAudio2.

Для разработки API XAudio2 требуются следующие заголовки:

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

Класс

 
CXAPOBase

Реализация интерфейса IXAPO по умолчанию.
CXAPOParametersBase

Реализация интерфейса IXAPOParameters по умолчанию.

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

 
HrtfDirectivityType

Указывает один из нескольких шаблонов направления акций.
HrtfDistanceDecayType

Указывает тип распада на основе расстояния, применяемый к звуку.
HrtfEnvironment

Указывает один из нескольких типов стандартных сред.
XAPO_BUFFER_FLAGS

Описывает содержимое буфера потока.
XAUDIO2_FILTER_TYPE

Указывает тип фильтра.

Функции

 
AddRef

Добавляет ссылку на объект XAudio2.
BeginProcess

Возвращает текущие параметры процесса.
CalcInputFrames

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

Возвращает количество выходных кадров, которые будут созданы на основе заданного количества входных кадров.
CommitChanges

Атомарным образом применяет набор операций, помеченных заданным идентификатором.
CreateFX

Создает экземпляр запрошенного эффекта XAPOFX.
CreateHrtfApo

Создает экземпляр интерфейса IXAPO для обработки функции передачи, связанной с головой (HRTF).
CreateMasteringVoice

Создает и настраивает голос мастера.
CreateSourceVoice

Создает и настраивает исходный голос.
CreateSubmixVoice

Создает и настраивает подмиксный голос.
CXAPOBase

Создает экземпляр класса CXAPOBase.
CXAPOParametersBase

Создает экземпляр класса CXAPOParametersBase.
DestroyVoice

Уничтожает голос. При необходимости останавливает голос и удаляет его из графа XAudio2.
DisableEffect

Отключает эффект в заданной позиции в цепочке эффектов голоса.
Разрыв

Уведомляет голос XAudio2 о том, что после последнего буфера в очереди больше не будет.
EnableEffect

Включает эффект в заданной позиции в цепочке эффектов голоса.
EndProcess

Уведомляет CXAPOParametersBase о том, что XAPO завершил доступ к текущим параметрам процесса.
ExitLoop

Прекращает циклическое выполнение голоса, когда он достигает конца текущей области цикла.
FlushSourceBuffers

Удаляет все ожидающие звуковые буферы из голосовой очереди.
GetChannelMask

Возвращает маску канала для этого голоса.
GetChannelVolumes

Возвращает уровни громкости для голоса на канал.
GetEffectParameters

Возвращает текущие параметры конкретного эффекта в цепочке эффектов голоса.
GetEffectState

Возвращает состояние выполнения эффекта в указанной позиции в цепочке эффектов голоса.
GetFilterParameters

Возвращает параметры фильтра голоса.
GetFrequencyRatio

Возвращает коэффициент регулировки частоты голоса.
GetOutputFilterParameters

Возвращает параметры фильтра из одного из отправлений этого голоса.
GetOutputMatrix

Возвращает уровень громкости каждого канала конечного вывода для голоса. Эти каналы сопоставляются с входными каналами указанного целевого голоса.
GetParameters

Возвращает текущие значения для всех параметров, зависящих от эффекта.
GetPerformanceData

Возвращает сведения об использовании текущего ресурса, например доступной памяти или использования ЦП.
GetRegistrationProperties

Возвращает свойства регистрации XAPO.
GetRegistrationPropertiesInternal

Возвращает указатель на структуру XAPO_REGISTRATION_PROPERTIES, содержащую свойства регистрации, с которыми был создан XAPO.
GetState

Возвращает данные текущего положения курсора голоса.
GetVoiceDetails

Возвращает сведения о флагах создания, каналах ввода и частоте выборки голоса.
GetVolume

Возвращает текущий общий уровень громкости голоса.
Initialize

Выполняет инициализацию, зависят от конкретного эффекта.
IsInputFormatSupported

Запрашивает, поддерживается ли определенный формат входных данных для заданного формата вывода.
IsLocked

Запрашивает блокировку XAPO.
IsOutputFormatSupported

Запрашивает, поддерживается ли определенный формат выходных данных для заданного формата входных данных.
LockForProcess

Вызывается методом XAudio2 для блокировки конфигураций входных и выходных данных XAPO, что позволяет выполнять любую окончательную инициализацию перед вызовом process в потоке в реальном времени.
OnBufferEnd

Вызывается, когда голос завершает обработку буфера.
OnBufferStart

Вызывается, когда голос вот-вот начнет обработку нового звукового буфера.
OnCriticalError

Вызывается при возникновении критической системной ошибки, которая требует закрытия и перезапуска XAudio2.
OnLoopEnd

Вызывается, когда голос достигает конечной позиции цикла.
OnProcessingPassEnd

Вызывается методом XAudio2 сразу после завершения процесса обработки звука.
OnProcessingPassStart

Вызывается методом XAudio2 непосредственно перед началом процесса обработки звука.
OnSetParameters

Вызывается методом IXAPOParameters::SetParameters для проверки определяемых пользователем параметров.
OnStreamEnd

Вызывается, когда голос только что закончил воспроизведение непрерывного аудиопотока.
OnVoiceError

Вызывается при возникновении критической ошибки во время обработки голоса.
OnVoiceProcessingPassEnd

Вызывается сразу после завершения процесса обработки голоса.
OnVoiceProcessingPassStart

Вызывается во время каждого прохода обработки для каждого голоса непосредственно перед тем, как XAudio2 считывает данные из очереди буфера голоса.
ParametersChanged

Указывает, был ли вызван IXAPOParameters::SetParameters с момента последнего прохода обработки.
Процесс

Выполняет код цифровой обработки сигналов (DSP) XAPO в заданных входных и выходных буферах.
ProcessThru

Вызывается реализацией IXAPO::P rocess, когда XAPO отключен для обработки через.
QueryInterface

Запрашивает заданный COM-интерфейс в объекте XAudio2.
RegisterForCallbacks

Добавляет указатель IXAudio2EngineCallback в список обратных вызовов обработчика XAudio2.
Выпуск

Освобождает ссылку на объект XAudio2.
Сброс

Сбрасывает переменные, зависящие от журнала кадров.
ReverbConvertI3DL2ToNative

Встроенная функция, которая преобразует параметры I3DL2 (interactive 3D Audio Rendering Guidelines Level 2.0) в собственные параметры XAudio2.
SetChannelVolumes

Задает уровни громкости для голоса для каждого канала.
SetDebugConfiguration

Изменяет параметры глобального ведения журнала отладки для XAudio2.
SetEffectChain

Заменяет цепочку эффектов голоса.
SetEffectParameters

Задает параметры для заданного эффекта в цепочке эффектов голоса.
SetEnvironment

Выбирает акустическую среду для имитации.
SetFilterParameters

Задает параметры фильтра голоса.
SetFrequencyRatio

Задает коэффициент регулировки частоты голоса.
SetOutputFilterParameters

Задает параметры фильтра для одного из отправлений этого голоса.
SetOutputMatrix

Задает уровень громкости каждого канала окончательного вывода для голоса. Эти каналы сопоставляются с каналами ввода указанного целевого голоса.
SetOutputVoices

Определяет новый набор субмиксных или мастеринговых голосов для получения выходных данных голоса.
SetParameters

Задает параметры, относящиеся к эффекту.
SetSourceGain

Задает настраиваемое значение получения с прямым путем для текущей исходной позиции. Допустимо только для звуков, воспроизводимых с пользовательским типом распада HrtfDistanceDecayType.
SetSourceOrientation

Задайте матрицу поворота для исходной ориентации относительно системы координат прослушивателя.
SetSourcePosition

Задает положение звука относительно прослушивателя.
SetSourceSampleRate

Перенастраивает голос для использования исходных данных с частотой выборки, отличной от частоты, указанной при создании голоса.
SetVolume

Задает общий уровень громкости для голоса.
Запуск

Начинает потребление и обработку звука голосом. Доставляет результат любому подключенному субмикксному или мастер-классному голосу, а также на устройство вывода.
StartEngine

Запускает поток обработки звука.
Остановить

Прекращает потребление звука текущим голосом.
StopEngine

Останавливает поток обработки звука.
SubmitSourceBuffer

Добавляет новый звуковой буфер в очередь голосовых функций.
UnlockForProcess

Освобождает переменные, выделенные с помощью метода LockForProcess.
Отмена регистрацииForCallbacks

Удаляет указатель IXAudio2EngineCallback из списка обратных вызовов обработчика XAudio2.
ValidateFormatDefault

Проверяет, попадает ли аудиоформат в поддерживаемые диапазоны по умолчанию.
ValidateFormatPair

Проверяет, поддерживает ли XAPO конфигурацию пары форматов входных и выходных данных.
X3DAudioCalculate

Вычисляет параметры DSP относительно трехмерных параметров.
X3DAudioInitialize

Задает все глобальные трехмерные звуковые константы.
XAPOAlloc

Макрос выделения памяти, используемый методами IXAPO, которые должны выделять структуры произвольного размера, которые впоследствии возвращаются в приложение.
XAPOFree

Макрос, используемый для освобождения памяти, выделенной с помощью макроса XAPOAlloc.
XAudio2AmplitudeRatioToDecibels

Встроенная функция, которая преобразует значение коэффициента амплитуды в децибеловое значение.
XAudio2Create

Создает новый объект XAudio2 и возвращает указатель на его интерфейс IXAudio2.
XAudio2CreateReverb

Создает новый объект реверберации аудиообъекта (APO) и возвращает указатель на него.
XAudio2CreateVolumeMeter

Создает новый объект обработки звука счетчика громкости (APO) и возвращает указатель на него.
XAudio2CutoffFrequencyToOnePoleCoefficient

Встроенная функция, которая преобразует частоты отсечения фильтра, выраженные в герцах, в коэффициенты фильтра, используемые с элементом Frequency структуры XAUDIO2_FILTER_PARAMETERS.
XAudio2CutoffFrequencyToRadians

Встроенная функция, которая преобразует частоты отсечения фильтра, выраженные в герцах, в значения частоты радиана, используемые в элементе Frequency структуры XAUDIO2_FILTER_PARAMETERS.
XAudio2DecibelsToAmplitudeRatio

Встроенная функция, которая преобразует децибеловое значение в значение коэффициента амплитуды.
XAudio2FrequencyRatioToSemitones

Встроенная функция, преобразующая значение коэффициента частоты в значение полутона.
XAudio2RadiansToCutoffFrequency

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

Встроенная функция, преобразующая значение полутона в значение коэффициента частоты.

Интерфейсы

 
IXAPO

Интерфейс объекта обработки звука, который используется в цепочке эффектов XAudio2.
IXAPOHrtfParameters

Интерфейс, используемый для задания параметров, управляющих применением функции передачи, связанной с головой (HRTF), к звуку.
IXAPOParameters

Необязательный интерфейс, позволяющий XAPO использовать параметры, зависящие от эффекта.
IXAudio2

IXAudio2 — это интерфейс для объекта XAudio2, который управляет всеми состояниями обработчика аудио, потоком обработки звука, голосовой графом и т. д.
IXAudio2EngineCallback

Интерфейс IXAudio2EngineCallback содержит методы, которые уведомляют клиента, когда в подсистеме IXAudio2 происходят определенные события.
IXAudio2MasteringVoice

Для представления устройства вывода звука используется голос мастеринга.
IXAudio2SourceVoice

Используйте исходный голос для отправки звуковых данных в конвейер обработки XAudio2.
IXAudio2SubmixVoice

Подмиксный голос используется в основном для повышения производительности и обработки эффектов.
IXAudio2Voice

IXAudio2Voice представляет базовый интерфейс, на основе которого являются производные IXAudio2SourceVoice, IXAudio2SubmixVoice и IXAudio2MasteringVoice. Перечисленные ниже методы являются общими для всех голосовых подклассов.
IXAudio2VoiceCallback

Интерфейс IXAudio2VoiceCallback содержит методы, которые уведомляют клиента, когда в заданном объекте IXAudio2SourceVoice происходят определенные события.

Структуры

 
FXECHO_INITDATA

Параметры инициализации для использования с XAPOFX FXECHO.
FXECHO_PARAMETERS

Параметры для использования с XAPOFX FXECHO.
FXEQ_PARAMETERS

Параметры для использования с XAPO FXEQ.
FXMASTERINGLIMITER_PARAMETERS

Параметры для использования с XAPO FXMasteringLimiter.
FXREVERB_PARAMETERS

Параметры для использования с XAPO FXReverb.
HrtfApoInit

Задает параметры, используемые для инициализации пространственного звука HRTF.
HrtfDirectivity

Дескриптор базового шаблона направления. Описывает тип направленности, применяемой к звуку.
HrtfDirectivityCardioid

Описывает шаблон направления кардиоид.
HrtfDirectivityCone

Описывает конусную прямолинейность.
HrtfDistanceDecay

Описывает поведение затухания на основе расстояния.
HrtfOrientation

Указывает ориентацию объекта прямой способности HRTF.
HrtfPosition

Представляет позицию в трехмерном пространстве с использованием правой системы координат.
X3DAUDIO_CONE

Задает направление для одноканального излучателя, отличного от LFE, путем масштабирования поведения DSP в соответствии с ориентацией излучателя.
X3DAUDIO_DISTANCE_CURVE

Определяет явную кусковую кривую, составленную из линейных сегментов, напрямую определяющую поведение DSP относительно нормализованного расстояния.
X3DAUDIO_DISTANCE_CURVE_POINT

Определяет параметр DSP на заданном нормализованном расстоянии.
X3DAUDIO_DSP_SETTINGS

Получает результаты из вызова X3DAudioCalculate.
X3DAUDIO_EMITTER

Определяет одноточечный или многоточечный трехмерный источник звука, используемый с произвольным количеством звуковых каналов.
X3DAUDIO_LISTENER

Определяет точку приема трехмерного звука.
XAPO_LOCKFORPROCESS_PARAMETERS

Определяет параметры буфера потока, которые остаются постоянными, пока XAPO заблокирован. Используется с методом IXAPO::LockForProcess.
XAPO_PROCESS_BUFFER_PARAMETERS

Определяет параметры буфера потока, которые могут изменяться от одного вызова к другому. Используется с методом Process.
XAPO_REGISTRATION_PROPERTIES

Описание общих характеристик XAPO. Используется с IXAPO::GetRegistrationProperties, CXAPOParametersBase::CXAPOParametersBase и CXAPOBase::CXAPOBase.
XAUDIO2_BUFFER

Представляет буфер аудиоданных, используемый с IXAudio2SourceVoice::SubmitSourceBuffer.
XAUDIO2_BUFFER_WMA

Используется с IXAudio2SourceVoice::SubmitSourceBuffer при отправке данных xWMA.
XAUDIO2_DEBUG_CONFIGURATION

Содержит новую глобальную конфигурацию отладки для XAudio2. Используется с функцией SetDebugConfiguration.
XAUDIO2_EFFECT_CHAIN

Определяет цепочку эффектов.
XAUDIO2_EFFECT_DESCRIPTOR

Содержит сведения о XAPO для использования в цепочке эффектов.
XAUDIO2_FILTER_PARAMETERS

Определяет параметры фильтра для исходного голоса.
XAUDIO2_PERFORMANCE_DATA

Содержит сведения о производительности. (XAUDIO2_PERFORMANCE_DATA)
XAUDIO2_SEND_DESCRIPTOR

Определяет целевой голос, который является целевым объектом для отправки с другого голоса, и указывает, следует ли использовать фильтр.
XAUDIO2_VOICE_DETAILS

Содержит сведения о флагах создания, каналах ввода и частоте выборки голоса.
XAUDIO2_VOICE_SENDS

Определяет набор голосов для получения данных из одного выходного голоса.
XAUDIO2_VOICE_STATE

Возвращает текущее состояние голоса и данные о положении курсора.
XAUDIO2FX_REVERB_I3DL2_PARAMETERS

Описание параметров I3DL2 (interactive 3D Audio Rendering Guidelines Level 2.0) для использования в функции ReverbConvertI3DL2ToNative.
XAUDIO2FX_REVERB_PARAMETERS

Описание параметров для использования в APO реверберации.
XAUDIO2FX_VOLUMEMETER_LEVELS

Описание параметров для использования с APO счетчика томов.