WASAPI 与 Waveout 与 Directsound 的区别

简单的说,通常使用 WASAPI;waveout 现在通常用于程序员调试体验音频

WASAPI

WASAPI 的全称是 Windows Audio Session API(Windows 音频会话 API),是从 Windows Vista 之后引入的 UAA(Universal Audio Architecture)音频架构所属的 API。
在 Windows Vista、Windows 7、Windows Server 2008 R2 系统中所使用。 WASAPI 允许传输未经修改的比特流到音频设备,从而避开 SRC(Sample Rate Conversion,取样率转换器)的干扰。
对于 Windows XP 来说,与 WASAPI 类似的通道为 ASIO。

Waveout

Waveout 是在 32 位的 Windows 上的一种老旧且过时,用来播放数字音讯的应用程序接口(Application Programming Interface,简称 API)。
旧的 Windows 操作系统(如 Win9x WinNT4)在 Waveout 的完成度很高(因为 waveout 是针对这些操作系统设计的),如果你想获得最好的效能,你应该在这些操作系统上使用 Waveout 输出。然而 Waveout 的功能有所局限 ,它无法支持「混和多重音讯流」的功能。
显示在 Win2kXP 下的 Waveout,只是为了旧的软件的兼容性所提供的,也因此 Win2kXP 下 Waveout 的完成度很糟,它没有使用任何的硬件加速功能,所有的混音动作都是用软件来执行(因此当 CPU 的使用率很高时,常常会发生类似 CD 跳针的断音现象)

Directsound

Directsound 是种较新、较现代化的声音播放 API,都已经内建在最近的 32 位 Windows 操作系统中。

云音乐


在网易云音乐的设置中,也会有类似的输出选择,一般来说,我们选择 WASAPI 会是一个比较好的体验

参考引用

https://blog.csdn.net/weixin_42781353/article/details/81613040