【发布时间】:2017-02-01 12:19:27
【问题描述】:
我正在使用 Android 音频,使用 AudioRecord 实时捕获音频。我正在使用 AudioRecord 的 read(...) 方法来获取音频样本。采样率为 48000Hz,在 read(...) 方法中,我想获得 12000 个样本的 1/4。如果我调用 read 方法会发生什么让我们说每秒 10 次?它会返回重叠值吗?
【问题讨论】:
标签: android audiorecord
我正在使用 Android 音频,使用 AudioRecord 实时捕获音频。我正在使用 AudioRecord 的 read(...) 方法来获取音频样本。采样率为 48000Hz,在 read(...) 方法中,我想获得 12000 个样本的 1/4。如果我调用 read 方法会发生什么让我们说每秒 10 次?它会返回重叠值吗?
【问题讨论】:
标签: android audiorecord
答案是“不”。您不会两次从AudioRecord 中读取相同的数据。 read() 阻塞,直到至少有一个“块”新音频可用。 read()s 对时间不敏感,除非您等待太长,AudioRecord's 内部缓冲区的一部分将丢失/覆盖(因为它的大小是有限的)。
来源:个人经验和在多种设备上进行的大量测试,包括真实的和模拟的。
【讨论】: