Sending Streaming Audio on a Phone call - android

I have seen that it seems to be imposible to send an audio (mp3, ogg,...) to a phone call, but i wanted to know if it's possible to play an mp3 in the phone so it's reproduced in max volume when call established.

Unfortunately, that's not possible. There's no API or hardware support for that. Someone else asked a similar question: Call Audio Stream Modification in Android 4.0 ICS

Related

How android call recorders apps works?

There are plenty apps in google play, which can record calls. Some of them just turn on loudspeaker and record sound via microphone, others should be able to record audio steams directly. I know that android provides class for recording. (which doesn't work on lot of devices probably because of some SW restrictions).
So here is my question: Is there possibility to find some device, where call recording will be possible via MediaRecorder(VOICE_CALL)? I found that call recording apps are available for Galaxy SII and SIII so does it means that MediaRecorder(VOICE_CALL) work on these devices?
EDIT------------
Generally, if i want to use MediaRecorder to record calls i need kernel which supports it (for example som custom kernel)?

Play pre-recorded audio into a voice call

The question have been asked before ( How to play an audio file on a voice call in android, play an audio file on a voice call etc), but I will ask it anyway: Is it possible to play an audio file into an ongoing voice call. I know the short answer is "No", but I have not figured out why it is not possible.
I know the SDK does not have support for it, but would it by any chance be possible in some way to write your own code that handles this, maybe with help from C/C++ code (using the NDK)? Does anyone have any idea on how to solve this? Or is the answer a strict "no, you cannot play pre-recorded audio into a voice call"?
I do not really care if the solution does not work on all devices, as long as I can find some devices that support the solution, and I can consider the get root access if that is needed.
I used Audiotrack to play audio with stream set to STREAM_VOICE_CALL during voice call on my One-Plus(Test Device) and it worked perfectly, however the audio which I speak is heard clearly and the music played is not heard. Probably because of the noise cancellation feature applied. I used Lollipop based Rom for this.So the answer is yes we can play.

Android: Manipulating voice in phone calls

I'm currently searching for options on how to manipulate audio on android. The goal is to process audio from the microphone in real time during a phone call. The best solution would be to do this on a native call. But rebuilding a telephone app (no VOIP) would be fine too. Are there any ways to achieve this with Android APIs (also undocumented)?
If not, which steps would be necessary to get things running?
On iOS there are some apps which manipulate voice but create a VOIP connection. I heard that on Android you can "clone" the telephone app and eventually feed it with your own audio stream? Aren't there apps which add noises during a call? What kind of APIs are involved?
The best solution would be to do this on a native call.
This is not possible. You have no access to the in-call audio stream, except perhaps in speakerphone mode.
But rebuilding a telephone app (no VOIP) would be fine too.
The last official word from Google (2010), the entire OS has no access to the in-call audio stream, as it is all handled at a lower level. Even if newer versions of Android do have access to the in-call audio stream, "rebuilding a telephone app" is only possible if you are creating custom firmware.
As a drawback i could imagine to record the Downlink Stream using the MediaRecorder API and write it back to hardware using AudioTracks write() method. By this i could manipulate incoming voice. But still I think this wont work during phone calls. And I do not see a way to choose different hardware destinations.

Android: Grabbing Voice

Are there APIs for grabbing the voice (in both directions) during a call? I'm interested in whether it can be intercepted before it's sent out (outgoing) and before it's played by the speaker (incoming).
No, there is no API to access the in-call voice audio (inbound or outbound).
This is not true, there is an API for it. Try to look at the classes AudioRecord and MediaRecord, and AudioManager as well. However these classes are not supported by all firmware. You can also check out this program, I am using it on Samsung galaxy S with success.

Bluetooth sound output on Android

I just noticed, using the HTC Dream that using a bluetooth headset was really easy for phone calls, but nothing seemed to be available for videos / music sound output. V1.0 limitations are not at fault since when you play a music and start a call, you can hear the music in the headset for a second. So it's technically possible, just not available in the settings.
Does anybody knows how to redirect programatically the sound output to the blutooth headset ?
I'd like to code a little app that let you listen to your music while looking like a total idiot with a big device hanging to your hear :-)
N.B : this question is a copy of the one I asked in Google group.
Prior to Android 1.5, Bluetooth support was limited to the headset/handsfree profile. No "audio" other than the phone conversation could be redirected over Bluetooth.
Having installed Cupcake on my G1, I have now used Bluetooth stereo audio with my Motorola S9 headphones perfectly. The whole stack is even smart enough that they automatically pause the music/video, switch over to the headset profile when a call comes in and then back when the call finishes.

Categories

Resources