Deepak Ramesh
Deepak Ramesh

Reputation: 411

How to stream a audio of incoming call via bluetooth in Android

I am able to receive, hangup and dial a number from my headset to android mobile which are connected via bluetooth.

Now, once I receive a in-coming call of mobile in headset, I need to speak with the called person from headset. I need to stream my voice via bluetooth to android mobile. I am searching for this code.

Crawled n number of post but could not get appropriate answer, Currently am using below but its not working...

AudioManager audioManager;

audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.startBluetoothSco();
audioManager.setBluetoothScoOn(true);
audioManager.setSpeakerphoneOn(true);

I am not sure after this what line of code I need to write to achieve my requirement

Note: I receive in-coming call by sending mmOutStream.write("ATA\r".getBytes()); this AT command to my Android mobile.

Please correct and guide me to perform audio stream.

Upvotes: 2

Views: 2242

Answers (1)

Drez
Drez

Reputation: 498

You should set speakerphone to false, otherwise your output will be re-directed there. It is enough to do this:

audioManager.setSpeakerphoneOn(false);
audioManager.startBluetoothSco();
audioManager.setBluetoothScoOn(true);

Also, you can optionally set microphone to un-mute state (just in case previous state was muted):

mAudioManager.setMicrophoneMute(false);

Upvotes: 3

Related Questions