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