XAudio2 API

XAudio2 API 技术概述。

若要开发 XAudio2 API,需要以下标头:

有关此技术的编程指南,请参阅:

 
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

返回当前资源使用情况详细信息,例如可用内存或 CPU 使用率。
GetRegistrationProperties

返回 XAPO 的注册属性。
GetRegistrationPropertiesInternal

返回指向XAPO_REGISTRATION_PROPERTIES结构的指针,该结构包含创建 XAPO 时所使用的注册属性。
GetState

返回语音的当前光标位置数据。
GetVoiceDetails

返回有关语音的创建标志、输入通道和采样率的信息。
GetVolume

获取语音的当前总音量级别。
初始化

执行任何特定于效果的初始化。
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。
处理

在给定输入和输出缓冲区上运行 XAPO 的数字信号处理 (DSP) 代码。
ProcessThru

当禁用 XAPO 进行直通处理时,由 IXAPO::P rocess 实现调用。
QueryInterface

查询 XAudio2 对象上的给定 COM 接口。
RegisterForCallbacks

将 IXAudio2EngineCallback 指针添加到 XAudio2 引擎回调列表。
版本

释放对 XAudio2 对象的引用。
重置

重置依赖于帧历史记录的变量。
ReverbConvertI3DL2ToNative

内联函数,用于将 I3DL2 (交互式 3D 音频呈现指南级别 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 方法分配的变量。
UnregisterForCallbacks

从 XAudio2 引擎回调列表中删除 IXAudio2EngineCallback 指针。
ValidateFormatDefault

验证音频格式是否在支持的默认范围内。
ValidateFormatPair

验证 XAPO 是否支持输入和输出格式对配置。
X3DAudioCalculate

计算与 3D 参数相关的 DSP 设置。
X3DAudioInitialize

设置所有全局 3D 音频常量。
XAPOAlloc

IXAPO 方法使用的内存分配宏,这些方法必须分配随后返回给应用程序的任意大小结构。
XAPOFree

用于释放使用 XAPOAlloc 宏分配的内存的宏。
XAudio2AmplitudeRatioToDecibels

将振幅比值转换为分贝值的内联函数。
XAudio2Create

创建新的 XAudio2 对象并返回指向其 IXAudio2 接口的指针。
XAudio2CreateReverb

创建一个新的混响音频处理对象 (APO) ,并返回指向它的指针。
XAudio2CreateVolumeMeter

(APO) 创建新的音量计音频处理对象,并返回指向它的指针。
XAudio2CutoffFrequencyToOnePoleCoefficient

内联函数,从以赫为单位表示的筛选器截止频率转换为与 XAUDIO2_FILTER_PARAMETERS 结构的 Frequency 成员一起使用的筛选器系数。
XAudio2CutoffFrequencyToRadians

内联函数,从以赫为单位表示的筛选器截止频率转换为XAUDIO2_FILTER_PARAMETERS结构的 Frequency 成员中使用的弧度频率值。
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

用于 FXECHO XAPOFX 的初始化参数。
FXECHO_PARAMETERS

用于 FXECHO XAPOFX 的参数。
FXEQ_PARAMETERS

用于 FXEQ XAPO 的参数。
FXMASTERINGLIMITER_PARAMETERS

用于 FXMasteringLimiter XAPO 的参数。
FXREVERB_PARAMETERS

用于 FXReverb XAPO 的参数。
HrtfApoInit

指定用于初始化 HRTF 空间音频的参数。
HrtfDirectivity

基本定向性模式描述符。 描述应用于声音的定向性类型。
HrtfDirectivityCardioid

描述心形指向性模式。
HrtfDirectivityCone

描述锥形指向性。
HrtfDistanceDecay

描述基于距离的衰减行为。
HrtfOrientation

指示 HRTF 定向性对象的方向。
HrtfPosition

使用右手坐标系表示 3D 空间中的位置。
X3DAUDIO_CONE

通过根据发射器的方向缩放 DSP 行为,指定单通道非 LFE 发射器的方向性。
X3DAUDIO_DISTANCE_CURVE

定义由线性段组成的显式分段曲线,直接定义与规范化距离相关的 DSP 行为。
X3DAUDIO_DISTANCE_CURVE_POINT

定义给定规范化距离处的 DSP 设置。
X3DAUDIO_DSP_SETTINGS

接收对 X3DAudioCalculate 的调用的结果。
X3DAUDIO_EMITTER

定义与任意数量的声音通道一起使用的单点或多点 3D 音频源。
X3DAUDIO_LISTENER

定义 3D 音频接收点。
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

在提交 xWMA 数据时与 IXAudio2SourceVoice::SubmitSourceBuffer 一起使用。
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 的参数。