April 27th, 2012, 06:01 AM
Thread Author (OP)
Join Date: Apr 2012
Carrier: Not Provided
Thanked 0 Times in 0 Posts
Record a call using AudioRecord and process audiou
I am trying to implement an application that records voice during a call ( my voice not the caller's ) and do some audio processing to that signal.
For doing this I use AudioRecord class as following:
private static final int RECORDER_SAMPLERATE = 8000;
private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
private static final int AUDIO_SOURCE = AudioSource.VOICE_UPLINK;
int N = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING);
recorder = new AudioRecord(AUDIO_SOURCE, RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, N*10);
Then I use the recorder.read() method to read the recording to a buffer process them and write them to a file.
When I try to hear the file with audacity the sound seems corrupted. Moreover I can hear also the caller's voice.
I would like to note that my code works when the audio source is the MIC (not during a call).
Is it something about the sample rate or some settings of the audio Recorder?
Any other ideas how to implement this?