I am trying to record phone calls on my Motorola Moto G, however, my phone does not support VOICE_CALL source for the Java method (I get one side of the call).
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
I have also written an OpenSL ES code (which I adapted from the Echo example from Google) but again I can only get the default MIC input! I have played with options here but it seems it is doomed to a crash and Google say it "must be this";
SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE,
SL_IODEVICE_AUDIOINPUT,
SL_DEFAULTDEVICEID_AUDIOINPUT,
NULL };
SLDataSource audioSrc = {&loc_dev, NULL };
I have tried two other commercial apps both of which seem to be able to record on my phone, what method are they using?