Android AudioRecorder应该读取所​​有样本还是只是一小部分?

时间:2016-06-24 03:33:26

标签: android buffer-overflow android-audiorecord

这个问题与https://stackoverflow.com/questions/26700070/android-audiorecorder-how-to-reduce-min-read-buffer-size/38004634#38004634有某种关系。

当我使用AudioRecorder实现VOIP应用程序时,我发现getMinBufferSize()为8000Hz,单声道,16Bit设置返回1024,时间为64ms。

  1. 但是我需要每次读取20ms来为音频编码器供电。那么我可以使用size = 20 * 8 * 2 = 320的read(ByteBuffer buf,int size)方法,还是应该读出size = getMinBufferSize的所有缓冲区?
  2. 如果我无法在64毫秒内读取所有样本会发生什么,是否会丢失一些样本?或者缓冲区是一个循环数组,所以我仍然可以读取正确的样本,直到缓冲区溢出?

0 个答案:

没有答案