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秒)。您可以清楚地看到在中間波形的變化所以它不是串聯數據
在所有前面的第二我怎麼讀緩衝區正確,所以當我與以前的緩衝區串連它,它使得在時間順序連續波形它被帶入?