我在将DirectSound实现到我正在制作的程序时遇到了很多麻烦,所以如果DirectSound已经过时或未使用或有什么东西,并且有更好的方法可以同时播放多个声音,请告诉我。
我不太了解库或x64和x86之间的差异以及其他任何东西,所以这对我来说可能是完全愚蠢。
我设法将我认为从DirectSound播放音频的工作混合在一起,我正在使用IDirectSoundBuffer8结构,这需要dsound3d.dll(即使在互联网上也无法找到它,帮忙吗?)和dsound.lib。它编译没有错误。我有来自DirectX SDK的dsound.lib和我在System32文件夹中找到的dsound.dll(可能不是最好的解决方案),我将它们从我项目的根目录名为lib的文件夹中链接起来。我的链接器行是:
g++-3 -s -Wall -O2 [object files] -I -l lib/dsound.lib lib/dsound.dll lib/gdi32.dll lib/D3D9.dll lib/d3dx9.dll lib/winmm.lib -o Voyager_dev.exe
它返回:
lib/dsound.dll: file not recognized: File format not recognized
如果不包含lib / dsound.dll,我会发现缺少函数的链接器错误,所以显然我错过了一些东西。也许我只需要dsound3d.dll和dsound.dll只是无关,不幸的是命名?这是大多数人实现重叠声音的方式吗?