• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps Record a call using AudioRecord and process audiou

gosom

Lurker
Apr 27, 2012
2
0
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:

Code:
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?

Giorgos
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones