在 Android 中录制音频时捕获时间戳
Posted
技术标签:
【中文标题】在 Android 中录制音频时捕获时间戳【英文标题】:Capture Timestamp while recording audio in Android 【发布时间】:2014-02-16 10:09:07 【问题描述】:我正在开发一个对时间敏感的 android 应用程序,我想在录制特定音频样本时记录精确的时间戳。我正在使用 AudioRecord.startRecording()。
我希望在硬件处理音频时准确记录时间戳以避免任何错误。是否有可能达到这种准确性,如果可以,我应该如何进行。
高度赞赏这方面的任何指针。
【问题讨论】:
【参考方案1】:您可以使用系统时间作为时间戳,如下所示:
int bufferReadResult = audioRecord.read(buffer, 0,blockSize);
long startTime = System.nanoTime()/ 1000;
您可以在记录的音频信号上计算 2 个事件之间的样本,并通过对样本进行计数并了解样本频率来获得精确的经过时间。 AFAIK,您无法获得获取信号的绝对时间。因为,音频由本地振荡器实时采样。一旦操作系统有空闲时间将其发送给您,就会将其发送给您。我不确定。
【讨论】:
以上是关于在 Android 中录制音频时捕获时间戳的主要内容,如果未能解决你的问题,请参考以下文章
在IOS中录制带有实时时间戳水印的视频,最好使用appcelerator