alter the audio input and output of a phone call in android - android

I am trying to build a calling app that will pass the phone call audio output, input to and from the computer respectively.
For this, I am creating a server on a computer that will use WebSockets to communicate with the android device over WLAN.
But I am not able to find a way to get audio input and output from the phone call.
Any advice on how to approach this would be hugely appreciated.

Related

Create bluetooth RFCOMM connection without pairing

I have a bluetooth device that collects some environmental data like temperature. I want to build an Android app that will pull the data from this device and display it. The problem here is the device is a kind of non-pairable. It simply works by writing commands on RFCOMM stream.
I just wanted to know if it is possible to create an RFCOMM connection stream without pairing the device in Android? I have tried to look at the other SO posts and blogs but didn't found any useful information.
Any help or pointing in right direction is appreciated.
Thanks

Can I create a virtual Bluetooth headset to manipulate call stream?

I'm creating an app that interacts with the phone stream, and I'm wondering if this is a reasonable workaround to be able to play audio into the call stream
I know that it isn't directly possible using the API, but is it possible to create a fake Bluetooth device that has a virtual input? I figure it is a similar problem to not being able to answer calls via the API, but you can create a virtual Bluetooth device that sends a fake keypress, which picks up the call.
Or is there another workaround that may do what I'm trying to accomplish?

Get voice stream during android call

I have wifi connection between java desktop app and android app. I need to transfer opponent's voice during call to desktop side and also transer my voice from desktop's microphone to opponent. How can I do it? How can I get input and output streams of call?
You can not handle gsm call data (neither send over uplink nor receive over downlink). I think you can try sip calls if that meets your requirement.

Android 4.0.3. USB Host - sending data via controlTransfer

I am new to Android and just started working with Android 4.0.3. which enables USB Host connection. I'm trying to send some signal via USB to a camera, let's say it is supposed to be some characters that the camera has to receive and e.g. start recording. I wanted to do it via controlTransfer(), but I am unable to understand what each part of the logic of this method means. I've checked many fora, but everywhere I see it people keep refering to it as if it was obvious.
What is the request ID, value and index?
Or maybe there is some other approach to the problem that I don't know. I know for sure that you can send a signal via USB from Linux terminal to that camera and as android has a linux kernel so maybe the way to go would be to start a terminal and do it the Linux way?
Thanks for any tips :)
controlTransfer() intended to send commands via control endpoint (endpoint 0). Request ID, index and value and part of USB protocol. Please refer to http://www.beyondlogic.org/usbnutshell/usb6.shtml#SetupPacket for more information.
Do you has protocol description for your camera?
I suppose, you need to use other endpoint (as described in camera protocol) to send characters to a camera.

Adobe AIR for mobile: Using Bluetooth audio as "Microphone"

I'm developing an AIR for Android application, and am current sending audio to fms servers via standard NetStream/Microphone options. I (ignorantly) assumed that attaching a bluetooth device would be pretty simple, and connecting it would make it show up as a native "Microphone". Unfortunately, it does not.
I don't think it is even possible to use Netstream.publish and publish raw bytes, so the only hope is that there's a way to use NativeProcess + Java to create a native microphone "handle" that AIR can pick up on.
Has anyone run into this issue?
I think one possible solution would be using NetConnection.send() instead of Netstream.publish().
You should get sound data from your BT microphone. I am not sure if you can get using AIR. You may need to use an android service that gets the sound data and feeds your AIR app via a file, a UDP port or an invoke etc.
When you get some sound data, encode it so flash can play it (Speex, Nellymoiser, etc) You can do the encoding in your Android service as well.
Whenever your AIR app receives a sound data, send it to your streaming server via NetConnection.Send().
Extend your streaming server to process sound data received. You can embed it into a flv stream, or send to other flash clients if it is a chat app.
Other than that, I can't find a way to have a "microphone handle" for your BT microphone. I once thought of creating a virtual device on Android, but I couldn't find any solution.

Categories

Resources