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

标签 android audio timestamp recording

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

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

非常感谢这方面的任何指示。

最佳答案

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

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

您可以对录制的音频信号上的两个事件之间的样本进行计数,并通过对样本进行计数并了解样本频率来获取精确的耗时。 AFAIK,您无法获得所获取信号的绝对时间。因为,音频是由本地振荡器实时采样的。一旦操作系统有空闲时间将 block 发送给您,就会将其发送给您。我对此不太确定。

关于android - 在 Android 中录制音频时捕获时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809808/

相关文章:

java - TensorFlow Android API - 一种在不更改代码的情况下提高日志级别的方法?

android:如何检测水平和垂直手势线

audio - 如何挽救一个巨大的、可能已损坏的 AIFF 文件?

python - 如何使用python处理音频文件

json - postgres json解析为时间戳

java - 为什么提取服务器时间戳而不是保存在数据库中的时间戳?如何区分它们?

mysql - MySql 中时间戳的性能问题

android - 在 Android Market 上启动 .Apk 文件的步骤是什么?

Android Studio 在磁盘上添加外部 maven 项目作为依赖项

java - 如何在 Android 中使用 Sound with Toast