2013-08-01 2 views
1

마이크에서 오디오 트랙을 수동으로 빌드하고 파형을 보려고합니다.안드로이드 audioRecord.read 버퍼를 연결하여 파형 만들기

나는이 같은 버퍼를 읽어

double[] bufferSet = new double[blockSize*2] 

//in a while loop 
int bufferReadResult = audioRecord.read(buffer, 0, blockSize); 

그런 다음 읽기 결과에서 내 자신의 버퍼를 구축 할 수 있습니다.

는 그래서 bufferSet는 내가 무엇을 가지고 희망하는 오디오의 bufferSet 2 초 긴 그래서이 시점에서이

//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]; 
} 

처럼 조금 보일 것이다. 문제는 내가 음모를 꾸미면 3 개의 버퍼 각각이 갑자기 파형을 결합한 부분을 분명하게 볼 수 있다는 것입니다.

버퍼를 채우는 순서가 있습니까? 가장 빠른 순간부터 마지막 ​​시간까지 (최신 시간) 또는 그 반대로 시간이 흐르나요?

따라서 오디오 파형은 다음과 같이 보입니다 (2 초). 갑자기 중간에 갑자기 볼 수 있습니다. 파형 변화는 데이터

모두에서

enter image description here

의 이전 초에 합치하지 않도록하는 방법은 시간의 순서로 연속 파형을 만들어 내가 정확히 내가 이전 버퍼로를 연결할 때 버퍼를 읽고 있습니다 그것은 안으로 가지고 갔다?

답변

0
double[] bufferSet = new double[blockSize*2] 
//First second 
j=1; 
... 
bufferSet[j*blockSize+i] = buffer[i]; 
... 
//Second Second 
j=2; 

1 초 동안 j=0, 2 일째에 j=1을 원하지 않으십니까?