我尝试编写一个应用程序,该应用程序记录来自麦克风的声音并将其直接发送给扬声器。为了进行测试,我使用头戴式耳机以避免声音反馈。我找到了本教程https://markheath.net/post/how-to-record-and-play-audio-at-same。由于我的最终应用程序对此有问题,因此我创建了一个小型测试应用程序,以确保引起问题的原因不是副作用。我创建了一个带有2个按钮(启动和停止)的小型测试程序以对其进行测试。但是由于某种原因,我较大的压轴应用程序和此应用程序中录制的声音具有周期性的静音声部,我找不到原因。
这是我的代码:
retryWhen{}
我的测试应用程序除了这两个按钮外没有其他内容。有谁知道为什么我在录音时会得到这些周期性的静音部分?
答案 0 :(得分:0)
这是因为BufferedWaveProvider
如果没有缓冲任何音频,则会产生静音,这在实时流式传输音频时会发生。您最好将接收到的音频写入WaveFileWriter
并将其放入BufferedWaveProvider
RecorderOnDataAvailable
而不是使用SavingWaveProvider
。