在C++中是否有使用EAX与DirectSound或XAudio2的示例/教程/资源?我无法找到任何东西,而且我真的需要为我的游戏引擎。C++ - 在EAX中使用DirectSound或XAudio2
0
A
回答
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。
相关问题
- 1. FFmpeg和DirectSound/XAudio2在C#
- 2. XAudio2与C#
- 3. C#DirectSound DirectSoundBuffer.SetVolume E_NOINTERFACE
- 4. 是否有可能使用DirectSound在C#中转码音频?
- 5. 异或存储在EAX中的地址
- 6. Qt Creator中的XAudio2
- 7. GNU AS:movl(%eax),%eax
- 8. 使用Directsound播放Wav
- 9. 检查汇编代码MOV 0x8中(%EBX),%EAX MOV(%eax中),%EAX CMP%EAX(%EBX)
- 10. C#DirectSound中的模糊呼叫
- 11. EAX在改变
- 12. 测试的关键%EAX%EAX
- 13. 使用XAudio2循环xWMA声音
- 14. 如何在C#WPF项目中使用SharpDX DirectSound播放.wav文件?
- 15. 的Windows Phone xaudio2
- 16. SlimDX for c#XAudio2效果(混响)
- 17. 在VS中移动[eax + 4]
- 18. jne在eax中的值
- 19. 在DirectSound中从头创建声音
- 20. 如何使用DirectSound从Stream播放MP3
- 21. DirectSound - 如何开始
- 22. 在汇编中存储eax中的值
- 23. C#DirectSound - 捕获缓冲区不连续
- 24. 播放声音与SlimDX和DirectSound的(C#)
- 25. 在C#中将DirectSound CaptureBuffer的内容写入WAV文件
- 26. Linux程序集:“test eax,eax”和“cmp eax,0”有什么区别
- 27. 如何用eax和esi中的参数调用函数。 gcc c + +
- 28. 在C和C++中调用函数时EAX寄存器初始化的差异
- 29. eax在mov后有什么eax,dword ptr [edi]
- 30. XAudio2遮挡处理