我想從我的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()調用,讀取所有現有的緩衝區:我需要指定要讀取的樣本數,並且我的調用將阻塞,直到這些樣本存在。
我很樂意有人向我展示這是更真實的文件。但幾乎一樣好,只要告訴我,如果我真的想讓麥克風以非常準確的開始時間開始,我該怎麼做。