我想从我的android设备上的麦克风获得非常准确的定时录音。我的想法是像如何在AudioRecord对象中刷新缓冲区?
while (true) {
audioRecord.startRecording();
sleep(0,nanoSeconds);
audioRecord.flush();
audioRecord.read(buf, 0, numSamples);
}
但对于AudioRecord
没有flush()
方法。因此,也许我应该做的
while (true) {
sleep(0,nanoSeconds);
audioRecord.startRecording();
audioRecord.read(buf, 0, numSamples);
audioRecord.stop();
}
当然,我找不到什么startRecording()
,read()
,并且stop()
足够详细,以便他们实际上谈论的缓冲区做文档。似乎没有任何方法可以告诉我缓冲区是否有样本。或者让我进行read()调用,读取所有现有的缓冲区:我需要指定要读取的样本数,并且我的调用将阻塞,直到这些样本存在。
我很乐意有人向我展示这是更真实的文件。但几乎一样好,只要告诉我,如果我真的想让麦克风以非常准确的开始时间开始,我该怎么做。