在C++中是否有将EAX与DirectSound或XAudio2一起使用的示例/教程/资源?我什么也找不到,我的游戏引擎确实需要它。

最佳答案

首先,DirectSound在这一点上很古老。 Windows SDK中仍支持旧游戏的DirectSound 8 header ,但十年来没有任何示例或文档更新。
但是,Windows音频驱动程序模型(WDM)不支持像Creative EAX所要求的那样的硬件音频混合。从Windows Vista开始,不再对此提供支持,因此无法通过DirectSound或XAudio2使用EAX。
总结Windows Vista驱动程序模型对DirectSound的更改:

  • LOC_SOFTWARE缓冲区可以支持环绕声多声道格式。在Windows XP上,LOC_SOFTWARE仅支持单声道或立体声。
  • 不支持
  • LOC_HARDWARE缓冲区。
  • 通过DirectSound不支持
  • 效果(I3DL,EAX等)。
  • DirectSound 3D定位仅限于单声道声音。

  • XAudio2支持环境混响和3D音频定位,包括多通道信号源,所有这些操作均通过软件完成。

    更新: XAudio 2.9现在可通过XAudio2Redist在Windows 7 SP1或更高版本上使用,并且无需使用旧版DirectX SDK或旧版DirectSetup部署。
    要获得诸如EAX之类的功能的硬件访问权限,您必须使用第三方解决方案(如OpenAL)。有关更多信息,请参见Creative site

    关于c++ - C++-将DirectSound或XAudio2与EAX一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35136651/

    10-12 04:32