Record a call using AudioRecord and process audiou


Last Updated: 2012-04-27 11:01:07
  1. gosom

    gosom New Member

    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 (Text):
    1.  
    2.  
    3. private static final int RECORDER_SAMPLERATE = 8000;
    4.  
    5. private static final int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
    6.  
    7. private static final int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
    8.  
    9. private static final int AUDIO_SOURCE = AudioSource.VOICE_UPLINK;
    10.  
    11. int N = AudioRecord.getMinBufferSize(RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING);
    12.  
    13. recorder = new AudioRecord(AUDIO_SOURCE, RECORDER_SAMPLERATE, RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, N*10);
    14.  
    15.  
    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

    Advertisement

Share This Page