1
Im试图通过手动建立麦克风音轨并查看其波形。Android audioRecord.read缓冲区连接在一起以产生波形
我读缓冲区这样的:
double[] bufferSet = new double[blockSize*2]
//in a while loop
int bufferReadResult = audioRecord.read(buffer, 0, blockSize);
然后从读取结果建立我自己的缓冲区。
所以bufferSet
看起来有点像这样
//First second
j=1;
for(i=0; i<blockSize; i++) {
bufferSet[j*blockSize+i] = buffer[i];
}
//Second Second
j=2;
for(i=0; i<blockSize; i++) {
bufferSet[j*blockSize+i] = buffer[i];
}
所以在这一点我希望能有一个bufferSet
有2秒长的音频。问题是当我绘制它的时候,我可以清楚地看到在加入波形的3个缓冲区中的每个缓冲区突然改变的部分。
是否有缓冲区必须填写的特定顺序?从0(从最早的时刻到最后一个单元(最新的时间)或其他方式),它是否时间明智吗?
因此音频波形看起来像这样(2秒)。您可以清楚地看到在中间波形的变化所以它不是串联数据
在所有前面的第二我怎么读缓冲区正确,所以当我与以前的缓冲区串连它,它使得在时间顺序连续波形它被带入?