这是我想要做的:
我想让用户给我的程序一些声音数据(通过麦克风输入),然后保持 250 毫秒,然后通过扬声器输出回来。
我已经使用 Java Sound API 完成了这项工作。问题是它有点慢。从发出声音到再次从扬声器中听到声音的时间至少需要 1-2 秒,我什至还没有尝试实现延迟逻辑。理论上应该没有延迟,但确实存在。我知道您必须等待声卡填满其缓冲区或其他任何东西,并且样本大小和采样率与此有关。
我的问题是:我应该继续沿着 Java 路径尝试这样做吗?如果可能的话,我想将延迟降低到 100 毫秒。有没有人有使用 Java 的 ASIO 驱动程序的经验?应该是更快了。。
另外,我是一个 .NET 人。这是否与 .NET 相关?C++呢?我正在寻找合适的技术在这里使用,也许是如何使用您建议的技术平台读/写音频输入/输出流的一个很好的例子。谢谢你的帮助!