这个问题与https://stackoverflow.com/questions/26700070/android-audiorecorder-how-to-reduce-min-read-buffer-size/38004634#38004634有某种关系。
当我使用AudioRecorder实现VOIP应用程序时,我发现getMinBufferSize()为8000Hz,单声道,16Bit设置返回1024,时间为64ms。
- 但是我需要每次读取20ms来为音频编码器供电。那么我可以使用size = 20 * 8 * 2 = 320的read(ByteBuffer buf,int size)方法,还是应该读出size = getMinBufferSize的所有缓冲区?
- 如果我无法在64毫秒内读取所有样本会发生什么,是否会丢失一些样本?或者缓冲区是一个循环数组,所以我仍然可以读取正确的样本,直到缓冲区溢出?
醇>