DirectSound 的循环播放BUFFER怎么写数据才好?
我在用DSound的循环缓冲时,每次的当前写位置都是在当前播放位置后几个到几十字节的位置.就算刚写过缓冲,当前的写位置也是这样.这样的话,我连续多次写缓冲后,先写的数据总会被后写的数据覆盖,就算我通过手工定位也还是要错。这是怎么回事?
还有,我在用IDirectSoundNotify来监控播放事件时,每次设置事件都要把缓冲停止,设置的事件才有效。这样一来,停一下,再播放,声音就会停顿。这要怎么解决?
在使用循环缓冲时,有没有别的方法使缓冲播放完最后一次写入的数据后就停止呢?