XAudio2 版本

XAudio2 是一个跨平台 API,已提供用于 Xbox 360 以及 Windows 版本,包括 Windows XP、Windows Vista、Windows 7 和 Windows 8。 在 Xbox 360 上,XAudio2 作为静态库提供,该库编译为 main 游戏可执行文件。 在 Windows 上,XAudio2 作为动态链接库提供, (DLL) 安装到操作系统的系统文件夹中。

适用于 Windows 7 和 Windows 8.x) 的 XAudio 2.9 (Windows 10和可再发行组件

XAudio2 版本 2.9 作为 Windows 10、XAUDIO2_9.DLL 的一部分以及 XAudio 2.8 一起提供,以支持较旧的应用程序。 XAudio 2.9 的可再发行版本也可用于 Windows 7 SP1、Windows 8和Windows 8.1。

XAudio2.9 更新了以下更改:

  • 新创建标志:XAUDIO2_DEBUG_ENGINE、XAUDIO2_STOP_ENGINE_WHEN_IDLE、XAUDIO2_1024_QUANTUM
  • xWMA 支持在此版本的 XAudio2 中可用。
  • Windows 10 版本的 XAudio 2.9 支持 CreateHrtfApo 函数。
  • XAUDIO2FX_REVERB_PARAMETERS 现在包括 7.1 系统的 SideDelay 值。
  • ReverbConvertI3DL2ToNative 函数现在包含支持 7.1 混响的布尔值 sevenDotOneReverb 参数。

XAudio 2.8 (Windows 8.x)

XAudio2 版本 2.8 目前在 Windows 8 XAUDIO2_8.DLL 中作为系统组件提供。 它是可用的“收件箱”,不需要通过应用进行重新分发。 我们建议使用适用于 Windows 8 的 Windows 软件开发工具包 (SDK) 来针对 XAudio2 进行开发;适用于 Windows 8 的 Windows SDK 包含针对XAUDIO2_8.DLL进行静态链接所需的标头和导入库。

XAudio2 2.8 更新了以下更改:

  • 此版本支持 Windows 应用商店应用开发;XAudio2 API 可用于 C++/DirectX Windows 应用商店应用。
  • XAudio2Create 是一个平面 Win32 API 调用,不再创建 XAudio2 CLSID。 已删除对通过 CoCreateInstance 实例化 XAudio2 的支持。
  • Initialize 函数现在由创建过程隐式调用,并且已从 IXAudio2 接口中删除。
  • 设备枚举功能已从 XAudio2 中删除;GetDeviceDetails 和 GetDeviceCount 函数已从 IXAudio2 接口中删除。 要呈现给系统上其他音频设备的应用必须将设备标识符字符串传递给 CreateMasteringVoice ,而不是设备索引。 仍可以创建默认音频呈现设备,而无需枚举。
  • IXAudio2MasteringVoice 具有添加的函数 IXAudio2MasteringVoice::GetChannelMask ,用于返回目标输出设备的通道掩码。
  • X3DAudioXAPOFX 库合并到 XAudio2 中。 应用代码仍使用单独的标头 X3DAUDIO。H 和 XPOFX。H,但现在链接到单个导入库,XAUDIO2_8.LIB。
  • xWMA 支持在此版本的 XAudio2 中不可用;调用 CreateSourceVoice 时,将不支持 xWMA 作为音频缓冲区格式。 现在,建议使用 Media Foundation 源读取器对象将各种媒体格式解码为内存中的 PCM 缓冲区。
  • CreateFX 现在采用四个参数,而不是两个参数。 较新的参数将初始数据指定为 创建 XAPOFX 的一部分。

XAudio 2.7 及更早版本 (Windows 7)

在应用中使用的所有以前版本的 XAudio2 都已作为 DirectX SDK 中的可再发行 DLL 提供。 第一个版本的 XAudio2 XAudio2 2.0,在 2008 年 3 月版本的 DirectX SDK 中发布。 DirectX SDK 中提供的最后一个版本是 XAudio2 2.7,在 2010 年 6 月的 DirectX SDK 上一个版本中提供。

由于所有 SHA-1 签名内容已停用,旧版 DirectX SDK 在 Microsoft 下载中不再可用。 2010 年 6 月是生命周期结束版本。

以前版本的 XAudio2 不能用于生成适用于Windows 8的 Windows 应用商店应用。

入门

XAudio2 关键概念

XAudio 2.9 可再发行版本的开发人员指南