DirecSoundWaveOut/Wasapi是WDM类型的音频通道。
WaveOut和DirectSound(DS)就像最常见的公共车道,每个人都可以一起走(程序也可以一起说话),但它会受到其他车辆的影响。
WASAPI就像在这条OS音频道路上划出一条车道,只允许一辆车走,一条路走,但没有干扰,该程序是独占的。
WaveOut和DirecSound通常是最兼容的,通常是默认选项,而WASAPI是后vista的,所以它是输出的好选择。
音源输出是没有进行功率放大的,可以输入到功能设备进一步放大,基本无失真扬声器输出是经过设备功率放大,可以直接驱动桌面型的无源音箱,如果放大该信号可能会引起失真。
扩展资料:
DirecSound特点:
DirectSound是DirectXAudio的低层组件,提供了丰富的接口功能来实现。Wav格式波形声音数据回放控制。
DirectSound允许你混合和播放多种声音。DirectSound充分利用了声卡的内存资源,并提供了3D音效算法来模拟真实的3D立体声音。
创建IDirectSoundcard设备后,应该调用DirectXAPI函数SetCooperativeLevel来进一步设置设备的协调级别,以确定声卡设备应该与其他Windows程序共享的方式。
参考资料:百度百科-DirecSound
开发者角度来说:
简单的说,通常使用WASAPI;
waveout现在通常用于程序员调试体验音频
WASAPI在Windows Vista、Windows 7、Windows Server 2008 R2系统中所使用。 WASAPI允许传输未经修改的比特流到音频设备,从而避开SRC(Sample Rate Conversion,取样率转换器)的干扰。
对于Windows XP来说,与WASAPI类似的通道为ASIO。
WASAPI的全称是Windows Audio Session API(Windows音频会话API),是从Windows Vista之后引入的UAA(Universal Audio Architecture)音频架构所属的API。
Waveout 是在32位的Windows上的一种老旧且过时,用来播放数字音讯的应用程序接口(Application Programming Interface,简称API)。
旧的Windows操作系统(如Win9x WinNT4)在 Waveout的完成度很高(因为 waveout 是针对这些操作系统设计的),如果你想获得最好的效能,你应该在这些操作系统上使用Waveout输出。然而Waveout 的功能有所局限 ,它无法支持「混和多重音讯流」的功能。这显示在Win2kXP下的 Waveout,只是为了旧的软件的兼容性所提供的,也因此Win2kXP下 Waveout的完成度很糟,它没有使用任何的硬件加速功能,所有的混音动作都是用软件来执行(因此当CPU的使用率很高时,常常会发生类似CD跳针的断音现象)。———转载至Directsound 与 Waveout 有何不同
原文章:Directsound 与 Waveout 有何不同
Directsound 是种较新、较现代化的声音播放 API,都已经内建在最近的32位Windows操
作系统中。