how to Create a virtual mic in android? - android

I have following requirements :
When call is received in android phone instead of streaming microphone output I want to stream a recorded audio every time I receive call.
So that it should be like a virtual mic.
Is it possible to do this?
Is there any API/handlers to do it?
Any references?

From what I've seen, there is no dedicated API for this, nor is there any possible way to do this without rooting the Android device, which can be a very long process depending on the device. I don't know much besides that, however, such as how to do this with a rooted device, so you can probably find better explanations of that from another answer or somewhere else online.

Related

Is it possible in android to play an audio file over a phone call and receiver should hear it?

I search about it a lot but got nothing. I just want to know is it possible or not? If yes than how?
No.
The simple fact is the microphone / input audio stream during a phone call is not able to be pre-processed or replaced with another stream of any form.
So simply while one would think its easy to use media during a call, it simply is not possible due to the way the android system processes the audio.

Realtime Audio Convolution on Android

I'm trying to design an Android app that will start a service which applies a reverb (using convolution) to any audio played through the phone regardless of the app the audio is coming from. The service would ideally run in the background and enable the reverb effect as soon as audio begins to play on the device.
Is something like this possible on a non rooted Android device, and if it is, where's the best place to get started?
Thanks
It is not possible without root access.
There is some example of real time convolution such as viper4android fx though it uses linux native driver to achive the problem.

Is Android capable of managing microphone/input volume?

I've searched everywhere, including the RootTools source. I can't find anything that manages the microphone, apart from muting it altogether. And there are no hints inside the AudioRecorder.setMicrophoneMute(bool) method either...
There are a few posts about this issue, but none of them ever go anywhere (through no fault of OPs'). Is it (legally) possible to override the OS and get to the mic hardware directly or something?
Thanks,
-tre
You can't directly set the recording volume, but you can change what you do with the byte data you get from AudioRecord (look at the AudioTrack class for reducing the volume of the track)
Edit: I forgot to mention that if you're having trouble with volume spikes you can look at automatic gain control. Some devices activate it automatically, but you can manually enable it.
On occasion, I get a phone or tablet with poorly chosen microphone input volume. Android 4 had it adjustable but not the newer versions. It makes it impossible to use VOIP. It's not just for fancy audio recordings.

Is there a way to record calls in android?

Is there a way to write an app which records phone calls in android via android-sdk?
so that you can store phonecalls as .wav or something else?
I like to write something like a dictaphone.
Do you think, there is a chance to make this possible?
No. Android does not allow you to record the audio stream due to legal terms.
However due to buggy hardware implementations it is possible, on some devices, to record the audio stream.

Read an audio stream during (GSM) phone call

Is it possible to read an audio stream during (GSM) phone call? I would like to write an encoding application, and I do not want to go with SIP&VoIP. Thank you.
This will be phone and OS dependent and there are several apps that claim they record audio (Total Recall, Record my call on Android) but they generally seem to record via the microphone meaning the far end sound is poor.
I don't believe either the apple or android api's support access to the raw voice stream today.
Something to be aware of also is that it is not always legal to do this without informing the other party (i.e. the person on the other end of the call that you are planning to 'capture' the voice stream somehow) in many places - this may not be relevant for your particular plans but worth mentioning anyway.
If you have the option of doing the work in the network or on a PABX then you can create a basic (if not very efficient) solution by simply creating a three way (or conference) call.

Categories

Resources