0

Is there a way I can check / analyze the incoming voice / audio of an ongoing call. What I need is just a way to detect if someone is talking on the other end or not (1 or 0). No complex processing required.

I'm already aware of the MediaRecorder.AudioSource.VOICE_DOWNLINK way and that it works only with a few phones. But I need something robust which works with at least 75% of phones.

I know some native (JNI) code would be required if at all this is possible.

What I need to confirm is, should I be at all looking for a way to do it or is it completely not possible (even with native code) due to the hardware architecture of phones ? Some links to support this would be greatly helpful.

Madhur
  • 2,119
  • 1
  • 24
  • 31
  • `MediaRecorder.AudioSource.VOICE_DOWNLINK` is the only way for apps to get (just) the voice call downlink audio. – Michael Feb 19 '14 at 15:01
  • I did see that question before posting. This one can't be called an exact duplicate IMHO. As I am open to writing native code. Also I need real-time processing not recording. The answer on that question just mentions about the telephony stack being restrictive. which I am already aware of. – Madhur Feb 19 '14 at 20:45
  • Native code doesn't help as it still runs as an unprivileged user, and still cannot see data which may never touch the application processor. Real time processing requires first recording to a buffer, so your problem at minimum requires what the record-to-file people do (ie, a solution for you would have been a solution for them). The answer is that you cannot do this on most phones, and we don't need yet another go around on that. – Chris Stratton Feb 19 '14 at 21:33

0 Answers0