while (isRecording) {
buffer = new short[bufferSize];
bufferReadResult = audioRecord.read(buffer, 0,
bufferSize);
total = 0;
for (int i = 0; i < bufferReadResult; i++) {
total += Math.abs(buffer[i]);
}
recData.add( buffer );
level = (int) ( total / bufferReadResult );
if( voiceReconize == false ){
if( level > 500 ){
if( cnt == 0 )
startingIndex = recData.size();
cnt++;
}
if( cnt > 3 ){
cnt = 0;
voiceReconize = true;
startingIndex -= 15;
if( startingIndex < 0 )
startingIndex = 0;
}
}
if( voiceReconize == true ){
if( level < 500 ){
cnt++;
}else{
cnt = 0;
}
if( cnt > 10 ){
endIndex = recData.size();
Log.e("endIndex",endIndex+"");
isRecording = false;
}
}
}
audioRecord.stop();
dos.close();
} catch (Exception e) {
}
return null;
}
코드입니다.
제가 이미지버튼을 한번더 눌렀을대 녹음이 중지되게 만들고싶은데
if(voiceReconize == ture) 가되는순간 자동으로 정지되어 이부분을
onTuch안에 넣어서 클릭했을때 실행되도록해밧는데 그럼cnt와
endindex가 안맞아서 화면은 바뀌는데 녹음이 정상적으로 이루어지지
않더라고요.ㅠㅠ 혹시 보시고 도움 좀 부탁드리겠습니다.