I'm a newbie in the Android and telecom world.
I'm trying to access the voice stream in a phone call and encrypt it before sending it to the network.
Is there a way to access voice stream in Android?
Related
I'm working on a protocol to transmit data from voice calls in android. Audio files will be played on a voice call without any role for the user. Is this possible programmatically?
I have read the HSP bluetooth specification but I don't understand If I can use the headset bluetooth profile to send data (e.g. audio stream) from headset to phone and from phone to headset. If the HSP specification I see that the headset send AT commands to audio gateway, but I don't understand how the data are transferred from audio gateway to phone and from phone to audio gateway.
I want to change data between 2 android devices that have only HSP, HPF and A2DP profiles. It is possible to send/receive data to/from 2 devices with only this bluetooth profiles?
Technically you can transfer data via the audio channel. E.g. a wav file is also some binary data, containing audio Ra data, so why not transfer any other binary?
You just have to bypass the encoder (sbc or similar) what maybe is not so easy. Otherwise your binary data is destroyed.
Moreover, note that you talk from audiogate and smartphone. Usually the smartphone IS the audiogate. E.g. when using smartphone and headset, the smartphone also called audiogate in the Bluetooth spec.
If you try to connect 2 android devices with audio streams, of of these needs to take the headset role.
You could also transfer data using hfp by using AT commands. Might get a bit ugly. By the way, if you can send AT commands, these commands are most likely transferred over rfcomm. So I am wondering why you cannot access it.
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.
I'm fairly new to Android and I was wondering if there is a way to access and edit the voice stream before sending it through the network of the mobile distributor when there is a call? I guess the stream is in binary format? Thanks in advance
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.