如果持续使用IDirectSound8::CreateSoundBuffer创建缓冲区,播放声音,但是不释放缓冲区。
这样会导致所有函数都执行成功,但是某些声音播放不出来!
最好的办法就是等声音播放结束立刻释放缓冲区。
像以前那样创建缓冲区播放声音后,就永远不释放内存的做法是错的。
网上同样的问题如下:
http://bbs.gameres.com/showthread.asp?threadid=129171 看13楼
http://www.codeguru.com/forum/showthread.php?t=251764
此外,注意下面代码将导致增加对象引用,只RELEASE一次是无法释放对象的