在Android中录制音频时捕获时间戳

时间:2014-02-16 10:09:08

标签: android audio timestamp recording

我正在开发一个对时间敏感的Android应用程序,我想在录制特定音频样本时记录精确的时间戳。我正在使用AudioRecord.startRecording()。

我希望在硬件处理音频时准确记录时间戳,以避免任何错误。是否可以达到这种准确性,如果是这样,我应该如何处理它。

高度赞赏这方面的任何指示。

1 个答案:

答案 0 :(得分:2)

您可以使用系统时间作为时间戳,如下所示:

int bufferReadResult = audioRecord.read(buffer, 0,blockSize);
            long startTime = System.nanoTime()/ 1000; 

您可以对录制的音频信号上的2个事件之间的样本进行计数,并通过计算样本并了解采样频率来获得精确的经过时间。 AFAIK,你无法获得获得信号的绝对时间。因为,音频是由本地振荡器实时采样的。只要操作系统有空闲时间将一个块发送给您,就会向您发送一个块。我不确定这一点。