android call recording on htc one m8

743 Views Asked by At

I'm writing a call recording component and I am testing it on HTC One M8.
the phone is not rooted, and I am using standrad API to record calls like in this example:

MediaRecorder recorder = new MediaRecorder();

recorder.setAudioSource(MediaRecorder.AudioSource.Default); //Also tried Voice Call

//Tried all combinations of the following 2 lines
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

recorder.setAudioSamplingRate(44100); //Also tried 48000, 8000, 16000 etc
recorder.setOutputFile(OUTPUT_FILE_NAME_GOES_HERE);

recorder.prepare();
recorder.start();

I also tried with AudioRecord which is setup pretty much the same way, got same results.

Before upgrading to Lollipop I could hear both sides of the call very well. After the upgrade I can hear myself good, but the other side volume is very low.
I know some other apps are recording both sides of the call on HTC One M8 without root, so it is obviously something I'm missing.

Edit: please note that this worked before Lollipop and is still working on other devices on Lollipop, so I assume (of course I could easily be wrong) that something else - HTC M8 specific - is missing...

What could be applied so both sides can be heard?

1

There are 1 best solutions below

3
nLL On

We are on the same boat Oren. My app stopped working too. Fe apps seems to be solved this issue without root but I was not able to do it. I am not sure if HTC has non public API for it