I'm trying to capture internal sound from visualizer. I couldn't notice how to capture sound from visualizer and save it to a file. I used onWaveFormDataCapture's waveform byte array in audioRecord.read and writeShort functions and app crashed. any help would be appreciated
private void MyVisualizer() {
audioOutput = new Visualizer(0);
audioOutput.setDataCaptureListener(new Visualizer.OnDataCaptureListener() {
@Override
public void onWaveFormDataCapture(Visualizer visualizer, byte[] waveform, int samplingRate) {
try {
while (isRecording) {
int bufferReadResult = audioRecord.read(waveform, 0, bufferSize);
for (int i = 0; i < bufferReadResult; i++)
dos.writeShort(waveform[i]);
}}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onFftDataCapture(Visualizer visualizer, byte[] fft, int samplingRate) {
}
}, Visualizer.getMaxCaptureRate(), true, false);
}