2016-02-01 69 views

回答

0

首先,DirectSound在这一点上是古老的。它仍旧支持较老的游戏,并且DirectSound 8头文件位于Windows SDK中,但十多年来没有任何样本或文档更新。

但是,Windows音频驱动程序模型(WDM)不支持Creative EAX所需的硬件音频混合。在Windows Vista中删除了对此的支持,因此无法通过DirectSound或XAudio2使用EAX。

要总结的Windows Vista驱动模式的转变w.r.t到的DirectSound:

  • LOC_SOFTWARE缓冲区可以支持环绕声的多声道格式。在Windows XP上,LOC_SOFTWARE仅支持单声道或立体声。

  • LOC_HARDWARE不支持缓冲区。

  • DirectSound不支持特效(I3DL,EAX等)。

  • DirectSound 3D定位仅限于单声道声音。

XAudio2支持环境混响和3D音频定位,包括多通道信号源,全部使用软件完成。

XAudio 2.8是在Windows SDK,但你需要使用传统的DirectX SDK的XAudio 2.7以适用于Windows 7或Windows Vista - 见this post了解详情。样品可在GitHub上找到。 DirectX Tool Kit for Audio对于使用C++中的XAudio2非常有用。

要获得EAX等功能的硬件访问权限,您必须使用第三方解决方案,如OpenAL。有关更多信息,请参阅Creative site