directsound 混音有关问题

directsound 混音问题
简单来说就是这样,streaming和notification的问题
每段要播放的音乐对应一个soundbuffer(SecondBuffer),每个soundbuffer建立一个streaming线程和一个Event,用每个Buffer的notification激发Event,然后在每个线程中用WaitforSingleObject等待Event激发。进行lock、fill、unlock.

单独一个buffer的情况下,没有任何问题。但同时播放多段音乐(自然使用多个buffer)就出问题了。
按理说,既然每个buffer我都建立了一个event,那么自然每个buffer的notification应该激发对应这个buffer的event才对。但是我发现在使用hardware mixing时,任何一个buffer的notification都能激发其余所有buffer的Event。这下就完全乱套了,甚至别的进程(比如使用Directsound做输出引擎的foobar)的buffer notification也会影响到本进程的Event激发,这下我彻底SBL……我还查了一下,确实每个event对应的handle不同……
而且神奇的是:使用software mixing就没有问题……我以为是板载声卡的驱动过渣所致,但换个Audigy2,问题依旧

请经验者赐教!

------解决方案--------------------
握手~~~~~~~~~~~~~

我也在搞混音
不过不是放歌 而是搞IS/YY之类的