如何在Android中收到Audiorecord的硬件时间戳?

时间:2013-04-29 14:40:27

标签: android audio audio-recording audiorecord nanotime

我需要检索AudioRecord class读取缓冲区的时间戳。我需要以毫秒为单位跟踪时间。我尝试在读取缓冲区后添加时间戳检索,但是当我收到下一个缓冲区时,检索它所需的时间可能会波动很多。回调是否有办法接收录制音频的时间?

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

是我目前正在尝试的。

1 个答案:

答案 0 :(得分:0)

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