2017-08-07 161 views
0

我正在开发一个测距应用程序,在该应用程序中,我会发出声音并等待其录制内容以计算距离。当然,这需要非常敏感的时间。NAudio:同步录制和播放时间

在Windows窗体应用程序中使用NAudio库我已经能够让所有的东西都能正常工作,但延迟时间大约为70ms。真正的问题是这个延迟是不一致的,所以我不能校准它。我正在寻找消除延迟或使其一致,所以我可以将其排除。也许在单独的线程中运行记录和回放?

回答

1

例如,有些方法可以使用waveOutGetPosition从waveIn/waveOut API中获取更准确的时间信息,例如,NAudio用IWavePosition界面进行包装。

但对于你的用途是否可以使用ASIO,而不是生活会轻松很多,因为你在同一时间有录音和放音缓冲区都一个回调,因此没有漂移的危险。