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 的参数。 |