Enabling noise suppresion and other effects in Android - android

I am using Plivo SDK in a app (https://www.plivo.com/docs/sdk/android/) to make VoIP outgoing call. The receiving end, i.e. the person I'm calling, hears me with noise and with very bad quality.
According to Android documentation I can use the AutomaticGainControl, NoiseSuppressor and AcousticEchoCanceler within my app if suppported but my phone, which they are. the problem is that Plivo library opens the channel internally, I don't have a way to know the sessionId of the audio.
So, in my app, I just call Plivo classes and request to make an outgoing call:
Outgoing outgoing = endpoint.createOutgoingCall();
outgoing.call(number);
From there on, Plivo SDK controls everythind, bliding me from how it is making the call, so, I don't know the sessionID or how to apply the noise reduction filters.
Any ideas?

Plivo tech support said thy are working on the framework and it's still in beta state, so I resorted to native Sip functionality which Android provides and frankly, it gives tons of more possibilities. For the time being, I recommend using it instead of Plivo SDK, if your target audience supports it.

Related

DTMF receiving in Android

my main goal is to get DTMF tones in my Android app and perform related actions. I've seen that TelephonyManager can send DTMF but there is no method to receive them. I came across many pages (most of them quite old) which suggest the use of FFT libraries through buffering the VOICE_DOWNLINK audio stream with AudioRecorder (setting proper permissions in the manifest). I tried both with AudioRecorder and MediaRecorder (which is mainly intended for creating file) as well as "Visulizer" class which contains a proper getFft methos out of the box but none of them can access MediaRecorder.AudioSource.VOICE_DOWNLINK & co even if permissions are correctly managed and granted.
uses-permission android:name="android.permission.RECORD_AUDIO"
None of the Visualizer/MediaRecorder/AudioRecorder get initialized and I'm getting frustrated by the fact that I'm chasing after record permissions in order to listen for DTMF tones. Is there any other way I'm not considering?
After many research it appears impossible since
There is no DTMF listen method (Google... why??)
There are limitation accessing other's phone audio to FFT.
Especially related to this last point I've seen that basically all app based on a common used Google/GitHub code (https://github.com/pjasiun/dtmf-decoder) crashes from a certain SDK during calls. They all work fine with phone mic which is useless for phonecalls
Leaving this post for other people. For my purposes I resolved with an Arduino DTMF recognizer.

Android: which api to use to record all incoming and outgoing call (Since in changelogs Android blocked call recording)

Is there is api where i can record all the incoming and outgoing call in android pie version . It seems nearly impossible to record a call. Please suggest what can be done in this scenario
Android disabled the api with their security update policy. Looking at the permissions list the closest you can find is the MANAGE_OWN_CALLS, meaning that the best solution for you is to implement a standalone application for calling where you should be able to interact with microphone directly.

Programmatic auto attendant on an Android device

Is it possible to create an Android application that automatically attend incoming calls to an Android phone? If so, which APIs may be used to achieve this (a piece of code snippet highly appreciable)?
If the programmatic auto attendant feature not possible, why the Android OS imposes this restriction?
Is iOS behaves as same as Android in this scenario, please explain.
While googling I found something that can be useful. I haven't tried yet still I think this will help have a look at Call Control in Android
You can listen incomming call intent by implementing broadcast receiver Intent.CALL_STATE_CHANGED to listen for incoming call, but answering incomming call automatically seems not feasible.coz android application dont have access to incomming call audio stream.

Android voice call recorder

Hi all I am looking for any API or lines of codes that can guide me how I can record android incoming and outgoing call ?
I read some discussion from Is there any API supported by Android for recording phone call? and http://code.google.com/p/android/issues/detail?id=2117#c226 where they guide its not possible to record android calls due to device limitations etc.I also explore android auto answer app that's on http://code.google.com/p/auto-answer/ but this app also do auto ans by following different option like ringing call duration etc.any one can guide in detail how i can record twoway voice ?how i can detect it call is answer,reject by caller and receiver person ?thanks

Is there a way to to create a custom answering machine in android?

I'd like to create an app that allow you to filter incoming call to various answering message with :
"this number is not available" for black listed phone numbers
A formal message for strangers
A informative message about what your doing for friends
I don't know how you can get automatically a call, play a recorded message then wait for the answer and record it. Or maybe there is just a way to interact with the actual answering system so I just have to plugin.
Any clue strongly appreciated. A human sacrifice for any code snippet :-)
Access to the internal telephony is not possible or planned for future releases of Android:
http://groups.google.com/group/android-developers/browse_thread/thread/e8904c82a2c4a333
This would present a security risk as app developers could intercept and hijack sensitive calls (eg. telephone banking)
This is not possible on the tmobile G1 at this time. There is no way for an android SDK application to access the call input or output on this hardware/firmware combination.
http://groups.google.com/group/android-developers/browse_thread/thread/d04c307973345fef/a628e578900b3dce?lnk=gst&q=dave+sparks+play+audio#a628e578900b3dce
and
http://groups.google.com/group/android-developers/browse_thread/thread/185e33a3f420d1ac/e14e1dc84bb6dd24?lnk=gst&q=play+sound+call#e14e1dc84bb6dd24
I'm not sure this answers the question, but it is somewhat related I think.
You can install Ultimate Voice Recorder which can record your conversations (very useful when calling customer 'service'). Since it can record it, it must have some way to access the conversation.
Also, the capabilities you have to give the app are quite scary (translated from dutch: full internet access, intercept outgoing calls, change preferences, call phone numbers directly, record audio/take pictures, update contacts, auto startup). It seems to me there must be something in there that can help you?
However, I don't think it can inject audio into the stream. The symbian version had an option to insert beeps into the conversation, but I don't think the android version has it.
http://www.fingertip-access.com/
I have found out att for this use of your Phone Android or ISO, so far they ar decades behinde symbian and an inferior alternativ sadly, if you don't install a custom kernel/jailbreak it's not possible to record incoming calls and screen them. "Ultimate Voice Record ned you to use the phone in speaker mode."
it is possible to record voice calls with automatic answer. An update on this issue would be very helpful...
It is possible to have a resource that answers the calls. Enter a message and record the call. And together don't activate the microphone...
In short, an answering machine...

Categories

Resources