我正在开发一个Windows(7+)应用程序,它使用Wasapi进行同步记录和回放(VOIP风格)。我使用独占模式访问为SAME设备设置了两个流(一个捕获,一个渲染)。缓冲区大小完全相同(10 ms的数据,正确对齐)。
一切都很好,但我注意到数据被捕获与渲染的比率“略微”不同,几乎就像我使用两个不同时钟的独立设备一样。捕获流以比渲染流消耗的速度略快的速度提供数据。
当我的应用程序与另一个用户交谈时,我希望用户能够将自己视为混音的一部分。如果这两个流没有完全同步,那么如果不偶尔“弹出”,这将是不可能的。
有没有人遇到这种“不同步设备”的问题?我缺少一些基本概念吗?