XAudio2 关键概念

本概述介绍了使用 XAudio2 的一些关键概念。

XAudio2 引擎

IXAudio2 接口是 XAudio2 引擎的核心。 通过创建 IXAudio2 接口的实例,客户端可以枚举可用的音频设备、配置全局 API 属性、创建语音以及监视性能。 XAudio2Create 帮助程序函数执行 XAudio2 的实例化和初始化任务。

可以在单个进程中多次创建 XAudio2 实例。 每个 XAudio2 对象独立运行,并有自己的音频处理线程。 仅共享调试设置。 这在 Windows 中非常重要,因为 Windows 可以在单个进程中加载多个不同的组件。 例如,Internet Explorer 可能同时使用多个 XAudio2 组件。 尽管可以在单个客户端应用程序中创建多个 XAudio2 引擎对象,但不应在其各自的关系图之间传递信息。

有关初始化 XAudio2 引擎的示例,请参阅 如何:初始化 XAudio2

语音

语音是 XAudio2 用于处理、操作和播放音频数据的对象。 XAudio2 中有三种类型的语音。

  • 源语音

    源语音表示音频数据流。 源语音将其数据发送到其他类型的语音。

  • 子混合语音

    子混合语音对其接收的音频数据执行一些操作。 音频数据操作的一个示例可能是采样率转换。 子混合语音处理数据后,它会将该数据传递给另一个子混合语音或主语音。

  • 掌握语音

    主语音从源语音和子混合语音接收数据,并将该数据发送给音频硬件。

有关 XAudio2 语音 的概述,请参阅 XAudio2 语音。

音频图

音频图是 XAudio2 语音的集合。 音频在源语音中的音频图的一侧开始,可以选择穿过一个或多个子混合声音,并在主语音处结束。 音频图包含当前播放的每个声音的源语音、零个或多个子混合语音以及一个主语音。 最简单的音频图和在 XAudio2 中制造噪音所需的最小值是直接输出到主语音的单个源语音。 有关使用 XAudio2 播放声音 所需的最低步骤示例,请参阅如何:使用 XAudio2 播放声音。

有关 XAudio2 音频图 的概述,请参阅 XAudio2 音频图。

回调

回调是 XAudio2 用于向客户端代码发出信号的机制,表明某个事件已在语音或引擎对象中发生。 由于音频播放在 XAudio2 引擎中是异步的,因此回调是确定声音何时结束播放的唯一方法。

有关 XAudio2 回调 的概述,请参阅 XAudio2 回调。

入门

XAudio2 版本

如何:初始化 XAudio2

如何:使用 XAudio2 播放声音