5

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

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

是我目前正在尝试的。

4

1 回答 1

0

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

于 2013-10-31T14:25:59.973 回答