在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
缓冲区。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/