我正在开发一个对时间敏感的Android应用程序,我想在录制特定音频样本时记录精确的时间戳。我正在使用 AudioRecord.startRecording()。
我希望在硬件处理音频时准确记录时间戳以避免任何错误。是否可以实现这种准确性,如果可以,我应该如何继续。
非常感谢这方面的任何指示。
最佳答案
您可以使用系统时间作为时间戳,如下所示:
int bufferReadResult = audioRecord.read(buffer, 0,blockSize);
long startTime = System.nanoTime()/ 1000;
您可以对录制的音频信号上的两个事件之间的样本进行计数,并通过对样本进行计数并了解样本频率来获取精确的耗时。 AFAIK,您无法获得所获取信号的绝对时间。因为,音频是由本地振荡器实时采样的。一旦操作系统有空闲时间将 block 发送给您,就会将其发送给您。我对此不太确定。
关于android - 在 Android 中录制音频时捕获时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809808/