How can I record 2 microphone in Android simultaneously?
Asked Answered
F

2

12

I'm trying to record audio signals from 2 in-built microphone(bottom, top) at the same time. I can pick up bottom microphone signal using

MediaRecorder.AudioSource.MIC

and top microphone signal using

MediaRecorder.AudioSource.CAMCORDER

I can record separately but I want to record at the same time from 2 microphones. Does anyone know how to record simultaneously? I tried & or | operator but I can get only 1 channel signal.

I use Galaxy S2 device.

I will appreciate any response :) Thanks in advance.

Fillander answered 31/1, 2013 at 13:45 Comment(2)
I certainly would not assume that MIC is bottom, CAMCORDER is top, and that they are distinct on all devices.Upsilon
Did you find a solution? I'm trying to do the same thing and encountered the same problemBostow
M
3

There is a misconception that in devices with 2 microphones, both the microphones will be used when recording in the stereo mode.

In my 3 years experience of testing on tens of devices, I have found that this was never the case.

The primary mic alone is used both in mono and stereo recording in the wide range of Android devices that I have worked with - from low-cost mass models to flagships.

One reason for this is that the primary mic is of a better quality (more sensitive, less noisy, etc.) and costlier than the secondary mic.

Messinger answered 17/10, 2016 at 15:48 Comment(0)
M
2

You can achieve this by doing a stereo recording using the AudioRecord (http://developer.android.com/reference/android/media/AudioRecord.html) class. Have a look at How to access the second mic android such as Galaxy 3.

Specifying the audio format as stereo and the audio source as the camcorder automatically selects two microphones, one for each channel, on a (compatible) two microphone device.

For example:

            audioRecorder = new AudioRecord(MediaRecorder.AudioSource.CAMCORDER,sampleRate,android.media.AudioFormat.CHANNEL_CONFIGURATION_STEREO,android.media.AudioFormat.ENCODING_PCM_16BIT,bufferSize);

will initialise a new AudioRecord class, that can record from two device microphones in stereo in PCM, 16 bit format.

For more help on recording using AudioRecord (to record .wav), have a look at: http://i-liger.com/article/android-wav-audio-recording.

Merrileemerrili answered 30/8, 2013 at 11:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.