如何在安卓设备中获取音频录制(AudioRecord)的硬件时间戳?

5
我需要获取AudioRecord类读取缓冲区时的时间戳,并将时间以毫秒为单位记录下来。我尝试在读取缓冲区后添加时间戳检索,但当我接收到下一个缓冲区时,检索所需的时间可能会波动很大。有没有一种方法可以从回调函数中接收录制音频的时间?
int bufferReadResult = audioRecord.read(buffer, 0,blockSize);
            long startTime = System.nanoTime()/ 1000; 

这是我目前正在尝试的事情。
1个回答

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接