마이크에서 소리를 녹음하고 다시 재생하려고합니다. 그러나 여기 나는 모두 클릭 소리입니다. AudioTrack과 AudioRecord는 모두 동일한 설정으로 올바르게 초기화됩니다. 여기 내 코드는 다음과 같습니다청력 소리가 들리면 소리가 나지 않습니다.
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isRecording = false;
recordingThread.join();
player = findAudioTrack();
player.play();
for (int i = 0; i < audioQueue.size(); i++) {
int written = player.write(audioQueue.get(i), 0,
audioQueue.get(i).length);
}
player.stop();
player.release();
player = null;
}
});
}
private void startRecording() {
recorder = findAudioRecord();
recorder.startRecording();
isRecording = true;
recordingThread = new Thread(new Runnable() {
public void run() {
addAudioToQueue();
}
}, "AudioRecorder Thread");
recordingThread.start();
}
private void addAudioToQueue() {
short[] capturedAudio = new short[recordBufferSize/2];
while (isRecording) {
int read = recorder.read(capturedAudio, 0, capturedAudio.length);
audioQueue.add(capturedAudio);
}
recorder.stop();
recorder.release();
recorder = null;
}
}이 왜
사람이 알고 있나요? 그것은 아마도 당신이 byte
배열 대신 short
배열을 사용하고 있다는 사실과 관련이있다 https://www.dropbox.com/s/h38cs9vjkztyyro/AudioTesting.java
녹음 내용은 무엇입니까? –
그냥 내 말을 – james