Bluetooth headset doesn't get call audio - General Questions and Answers

Hi guys
I have an issue with my new bluetooth headset. I bought this Arctic P253BT headset to use on my Huawei Y300 (rooted with FusionX rom). It works properly on media stream. But when i start a call, despite i set bluetooth as output the audio comes out on phone speakers. Also headset integrated microphone doesn't work.
I tried the headset on iphone and it works properly. Then i tried on a Samsung Galaxy ace and it doesn't work at all.. all audio is on phone speakers. However... i didn't post this in the accessories forum because i think this is a software problem. I think that I need to change some settings to redirect call audio stream on bluetooth... so i need your nerd help
Noob's thanks
Update: I found out that the phone redirect correctly the bluetooth A2DP to headset, but the bluetooth mono stream is redirected on phone speakers... Can someone help?

Re-update:laugh:
This are the two files that i think should be important..
\system\etc\audio_policy.conf
#
# Audio policy configuration for generic device builds (goldfish audio HAL - emulator)
#
# Global configuration section: lists input and output devices always present on the device
# as well as the output device selected by default.
# Devices are designated by a string that corresponds to the enum in audio.h
global_configuration {
attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE
default_output_device AUDIO_DEVICE_OUT_SPEAKER
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_VOICE_CALL
}
# audio hardware module section: contains descriptors for all audio hw modules present on the
# device. Each hw module node is named after the corresponding hw module library base name.
# For instance, "primary" corresponds to audio.primary.<device>.so.
# The "primary" module is mandatory and must include at least one output with
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
# Each module descriptor contains one or more output profile descriptors and zero or more
# input profile descriptors. Each profile lists all the parameters supported by a given output
# or input stream category.
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
#/* < DTS2012080708196 duhongyan 20120807 begin */
audio_hw_modules {
primary {
outputs {
primary {
sampling_rates 44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_FM_TX
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
voipout {
sampling_rates 8000|16000
channel_masks AUDIO_CHANNEL_OUT_MONO
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
}
lpa {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_MONO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_LPA
}
}
inputs {
primary {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_VOICE_CALL_MONO|AUDIO_CHANNEL_IN_VOICE_DNLINK_MONO|AUDIO_CHANNEL_IN_VOICE_UPLINK_MONO
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_QCELP
devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_AUX_DIGITAL|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_FM_RX
}
voipin {
sampling_rates 8000|16000
channel_masks AUDIO_CHANNEL_IN_MONO
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_AMR_NB|AUDIO_FORMAT_AMR_WB|AUDIO_FORMAT_QCELP|AUDIO_FORMAT_EVRC|AUDIO_FORMAT_EVRCB|AUDIO_FORMAT_EVRCWB
devices AUDIO_DEVICE_IN_COMMUNICATION
}
}
}
a2dp {
outputs {
primary {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_ALL_A2DP
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
}
}
}
#/* DTS2012080708196 duhongyan 20120807 end > */
\system\etc\bluetooth\audio.conf
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# request master role for incoming connections
# so as to reduce the number of piconets and
# allow lot more incoming connections
Master=true
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
#AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
#[Headset]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
#HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incomming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=false
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
Please someone help

I face the same problem (Y300, FusionX, Philips (mono) Headset).
There is a workaround, which is kind of annoying though : You can pair the bluetooth headset, then make a call. As usual, the call is still using the phone. If you switch to the bluetooth settings during the call and select your headset, it should show a "phone" profile with a checkbox. Disabling the checkbox and re-enabling it will correctly route the current call to your headset.
If anyone knows a real fix, I would be very happy to know and test it

Related

Orbit 2 and Gear4 stereo bluetooth headset

Hi,
When I switch on both devices they connect fine, and I'm able to make calls etc, but the stereo connection doesn't appear to be established. I then have to go to Comm manager>Settings>Bluetooth, tap and hold my bluetooth headphone in the list, then choose 'Set as Wireless Stereo' from the list that appears.
As soon as I do this, the stereo connection is achieved and indicated by the headphone icon appearing in the top bar.
Is anybody else having this issue with stereo bluetooth headphones?
Is there a solution to this?
Aleemz,
I've just bumped in to this post - I have solved this on mine by writing a mortscript to automate the manual steps above.
It works pretty well, switching on the BT, waiting for the headset to connect, and then switching off the BT when the headset disconnects.
Here's the script (with thanks to another poster who gave me the starting block for this):
#power up bluetooth
Run ("\program files\vijay555\vjvolubilis\vjvolubilis.exe","-blueon")
#wait for something to connect, but only for 30 secs
SleepMessage( 30,"Connect Headset", "waiting for headset" , True ,RegRead("HKLM", "System\State\Hardware", "Handsfree") = 1 )
If (RegRead("HKLM", "System\State\Hardware", "Handsfree") = 0 )
#headset isn't connected, so switch off bt & give up
Run ("\program files\vijay555\vjvolubilis\vjvolubilis.exe","-blueoff")
exit
endif
#if we get here, then bt is on & the headset (or something) is connected
#may want to add logic here to decide what to do based on what device has connected
#run up the settings page
Run "\Program Files\MortScript\bluetoothcpl.lnk"
#wait for the settings page to load
WaitForActive ( "Settings",20 )
If (WndActive("Settings"))
#Great - it opened
#set the device
#may well have to add some logic here later to detect which BT device has connected
#This works if the BLuPhones are the 1st in the list
MouseDown Settings,60,125
Sleep 1000
MouseUp Settings,60,125
Sleep 500
SendDown
SendDown
SendDown
SendCR
Close "Settings"
#now we're all set up
#Now just wait for it to disconnect
#loop watching for bt headset disconnect for 4 hours, checking every minute
timcount = 0
while (timcount < 60*4)
timcount = timcount + 1
If (RegRead("HKLM", "System\State\Hardware", "Handsfree") = 0 )
#headset has dis-connected, so switch off bt & exit the apps
Call CloseAppsAndExit
Exit
endif
sleep 60000
EndWhile
#timeout after 4 hours of waiting, and shutdown media player & bt anyway
#do this in case it's been left on accidentally
Endif
Message("Closing down bluetooth now","Bye")
Call CloseAppsAndExit
Sleep 2000
Exit
Sub CloseAppsAndExit
#Close all apps we ran & exit
#close BT
Run ("\program files\vijay555\vjvolubilis\vjvolubilis.exe","-blueoff")
#close all apps -
Call ("CloseApp","GSPlayer")
Call ("CloseApp","Windows Media")
#this is the name of AVRCP I think
Call ("CloseApp","TCPMP")
Call ("CloseApp","S2P")
#and this is my guess at S2P
EndSub
Sub CloseApp
if (WndExists(argv[1]))
close(argv[1])
Endif
EndSub

Modifying and updating audio.config file?

Does anyone know how to update an audio.config file? I found a thread over on the Motorola forum where they are talking about being able to use a bluetooth headset for voice audio over video chats. Some are saying that we just need to be able to update the audio.config file located here: /system/etc/bluetooth/audio.conf
They are saying that maybe if we remove the # before HFP=true then we can activate the voice audio for a bluetooth headset and use it for video chats.
Here is the link for the original thread. Let me know what you all think.
Well for anyone interested, I was able to modify the audio.config file from Root Explorer with the Text editor so that the Xoom now recognizes the bluetooth voice profile of my Jawbone Icon and successfully pairs with it and shows the media profile and the voice profile. But when I try to use Google Talk, the app doesn't seem to send the audio or voice to the headset. So I have made one step forward but now it seems that this is another step backwards because now it seems that I have to find a way to get the app to see the headset but there are no settings for this feature.
In the audio.config file there is this section:
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
If I changed it to this, would this enable the app to use the headset:
[General]
Enable=Sink,Control, Headset,Gateway,Source
#Disable=
Now I just compared the audio.config file on my Droid X and my Xoom and found that the only difference between the two was at the bottom of the file. The example I am showing the the Xoom audio.config file with the last two lines added from my Droid X.
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# Do not require master role for incoming connections
Master=false
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
#AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
#[Headset]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
#HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
MetaDataSupport=1 <-------------- only difference on DX
ControllerSupport=1 <-------------- only difference on DX
Other than those two changes everything else is the same. So it does not seem to the the HFP=True since my DX can use the headset just fine. So now I just seem to be spinning. Any thoughts?
dimitri407 said:
Now I just compared the audio.config file on my Droid X and my Xoom and found that the only difference between the two was at the bottom of the file. The example I am showing the the Xoom audio.config file with the last two lines added from my Droid X.
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# Do not require master role for incoming connections
Master=false
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
#AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
#[Headset]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
#HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
MetaDataSupport=1 <-------------- only difference on DX
ControllerSupport=1 <-------------- only difference on DX
Other than those two changes everything else is the same. So it does not seem to the the HFP=True since my DX can use the headset just fine. So now I just seem to be spinning. Any thoughts?
Click to expand...
Click to collapse
Where did audio.conf go in Android 4.2.2?
dmwoods said:
Where did audio.conf go in Android 4.2.2?
Click to expand...
Click to collapse
Same question here.
The audio.conf file is part of the BlueZ stack, and since Bluedroid has now taken it's place it is no longer used.
Though, has anyone made any progress on this using the BlueZ stack. Bluedroid is becoming a huge PITA.

Not Solved: Possible solution to Bluetooth Issues (at least for Honda CRV)

Edit 10/28/2012: I tried replacing all files in /system/etc/bluetooth from the ones from CM9 and CM10. It still does not work. So fail for me. I also tried solution recommended in post # 2. No go for me.
Background: I have a 2012 Honda CRV and SGS2 Skyrocket (obviously!!) I prefer to use stock rooted deodexed roms with all AT&T bloatware removed. Bluetooth worked perfectly with Gingerbread ROMS.
Issue: As soon as I upgraded to ICS (leaks , Rogers and real deal from AT&T) I started having bluetooth Auto Connect issues. The problem was simple. My phone would never auto-connect to Car Audio. As you know there are two profiles (Settings -> Bluetooth -> HandFreeLink -> Settings) Phone and "Media Audio". Media Audio always autoconnected meaning I could play music etc from my phone to car car stereo. "Phone" never autoconnected. I always had to manually connect.
Debugging: I tried various ROMS hoping something would work. Finally when I tried CM9 everything worked!! Later when CM10 became stable, I tried that as well and it worked. When I say worked it means BOTH phone and Media audo profile autoconnected
Summary:
Bluetooth works perfectly in 1) All GB ROMS, All CM9 base ROMS and all CM10 base ROMS. Does not work in any stock AT&T/Rogers ICS ROMS
Possible Solution??: I tried to figure out what can be the issue and here is what I see
/system/etc/bluetooth/auto_pairing.conf is different in CM9 and Stock ROMS. Here is the difference
Stock ROM
// Blacklisting by Exact Name:
ExactNameBlacklist=Motorola IHF1000,i.TechBlueBAND,X5 Stereo v1.3,KML_CAN,SYNC,UConnect
// Blacklisting by Partial Name (if name starts with)
PartialNameBlacklist=BMW,Audi,Parrot,HandsFreeLink,Car,MB PhoneSystem,CAR MULTIMEDIA,MB Bluetooth
Click to expand...
Click to collapse
CM9
// Blacklisting by Exact Name:
ExactNameBlacklist=Motorola IHF1000,i.TechBlueBAND,X5 Stereo v1.3,KML_CAN
// Blacklisting by Partial Name (if name starts with)
PartialNameBlacklist=BMW,Audi,Parrot,Car
Click to expand...
Click to collapse
To me this would explain why I was facing problems. The bluetooth connection Honda CRV establishes is called HandsFreeLink. For some reasons connections with that name are blacklisted.
Questions:
1) Is this really the root cause of the problem?
2) Will changing the BT connection or fixing /system/etc/bluetooth/auto_pairing.conf fix the issue.
Next steps
1) I will try to run a test. I will rename phone bluetooth connection from "HandsFreeLink" to somethng else and see if that fixes the problem.
I am not confident it will work because some bluetooth address are also blacklisted and AT&T stock list is larger than CM9 so there is a chance that my HondaCRV BT address might be in there. I will report results of test tomorrow.
2) Can a Dev using ICS stock as base replace the conf file and provide a new build? I don't have linux and I noticed several overwriites while I unzipped the CWM zip file indicating that there are symlinks in there and I need Linux to build the new CWM file with file changed
I read this somewhere here on the forums but it has helped me
goto
/system/etc/bluetooth/
edit
audio.conf
uncomment(delete #) these lines
#AutoConnect=true
#[Headset] - not sure if this is necessary but I do it anyway
#HFP=true
below is from cm10
Code:
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# Switch to master role for incoming connections (defaults to true)
Master=false
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
[COLOR="red"]AutoConnect=true[/COLOR]
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
[COLOR="red"][Headset][/COLOR]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
[COLOR="Red"]HFP=true[/COLOR]
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incomming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=false
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
# The Sony car stereo Ford is using under their brand as '6000 CD' has a
# completely broken AVRCP 1.3 implementation. After recognizing AVRCP 1.3 TG
# capabilities and exchanging a few PDUs, the car stereo disconnects and
# reconnects BT, also resetting USB devices if connected to it.
# To avoid that and allow at least HFP and A2DP to work, prevent any AVRCP 1.3
# PDUs from being sent on those models - add the device to the black list.
# Since 2012 Ford models have it fixed, removing the device from the list
# will result in full functionality.
MetaDataBlackList=Ford Audio
reboot and test, it solved my autoconnect issue.
Hope this helps
This did not work for me. I tried replacing all config files as well and phone does not auto connect. Strange since CM9 and CM10 work perfectly.

Can someone post their audio.conf code

Can someone post their audio.conf code? It is locateed in /etc/bluetooth/
The reason I am asking this, is because I am trying to troubleshoot my bluetooth connectivity issues with my car radio. It supports 1.3 AVRCP yet I'm getting no meta-data. This is the code my phone is showing below. (Also, my playback pauses randomly)
Code:
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# request master role for incoming connections
# so as to reduce the number of piconets and
# allow lot more incoming connections
Master=false
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
#AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
#[Headset]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
#HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incomming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=false
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
MetaDataEnable=true
[WBspeech]
#for wide band speech hci commands arguments
WBSEnable = false
I2sEnable = 0x01
IsMaster = 0x00
ClockRate = 0x02
PcmInterfaceRate = 0x00
Any help with this is greatly appreciated.
197 Views and not one person willing to post? Just want to see the audio.conf from a person with working streaming meta data...
BungeBash said:
197 Views and not one person willing to post? Just want to see the audio.conf from a person with working streaming meta data...
Click to expand...
Click to collapse
Here you go
# Configuration file for the audio service
# This section contains options which are not specific to any
# particular interface
# NOTE: Enable=Sink means that bluetoothd exposes Sink interface for remote
# devices, and the local device is a Source
[General]
Enable=Sink,Control
Disable=Headset,Gateway,Source
# Switch to master role for incoming connections (defaults to true)
Master=false
# If we want to disable support for specific services
# Defaults to supporting all implemented services
#Disable=Control,Source
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
# Defaults to HCI
#SCORouting=PCM
# Automatically connect both A2DP and HFP/HSP profiles for incoming
# connections. Some headsets that support both profiles will only connect the
# other one automatically so the default setting of true is usually a good
# idea.
#AutoConnect=true
# Headset interface specific options (i.e. options which affect how the audio
# service interacts with remote headset devices)
#[Headset]
# Set to true to support HFP (in addition to HSP only which is the default)
# Defaults to false
#HFP=true
# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
#MaxConnections=1
# Set to true to enable use of fast connectable mode (faster page scanning)
# for HFP when incomming call starts. Default settings are restored after
# call is answered or rejected. Page scan interval is much shorter and page
# scan type changed to interlaced. Such allows faster connection initiated
# by a headset.
FastConnectable=false
# Just an example of potential config options for the other interfaces
[A2DP]
SBCSources=1
MPEG12Sources=0
[AVRCP]
InputDeviceName=AVRCP
# The Sony car stereo Ford is using under their brand as '6000 CD' has a
# completely broken AVRCP 1.3 implementation. After recognizing AVRCP 1.3 TG
# capabilities and exchanging a few PDUs, the car stereo disconnects and
# reconnects BT, also resetting USB devices if connected to it.
# To avoid that and allow at least HFP and A2DP to work, prevent any AVRCP 1.3
# PDUs from being sent on those models - add the device to the black list.
# Since 2012 Ford models have it fixed, removing the device from the list
# will result in full functionality.
MetaDataBlackList=Ford Audio
Sent from my SGS3 running Eclipse 2.1
I appreciate the response. I was hoping there was going to be more different than the little excerpt at the bottom :-/ Maybe it is just going to be an issue with uConnect in dodge cars. Unfortunately I have no other car to test with.

When developing, how can I control a USB DAC without preventing other apps from playing sound on it?

Basically, I have a USB DAC with PCM2912A from Ti. It has a function called sidetone, and that is useful to my usecase.
It can be simply enabled on Windows, but Android seems to have no way to enable that hardware sidetone.
So I am trying to develop an App to achieve that: Enable the sidetone function of PCM2912A.
I just open that device, then sending control requests via UsbDeviceConnection.controlTransfer(...).
Like this: (Just for better understanding of what am I doing)
Java:
UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);
registerReceiver(usbReceiver, filter);
usbManager.requestPermission(theDevice,permissionIntent);
UsbInterface usbInterface = theDevice.getInterface(0);
UsbDeviceConnection connection = usbManager.openDevice(theDevice);
connection.claimInterface(usbInterface, true);
byte[] buffer = intTo2Bytes(volume);
connection.controlTransfer(0x21,0x01,0x0100,0x0200,new byte[]{0x00},1,100);
connection.controlTransfer(0x21,0x01,0x0200,0x0200,buffer,2,100);
It works. I can hear my voice from the headset with almost no delay.
But this prevents other applications from playing any sound on my headset. How can I achieve the same result and still let the sound play properly?
Any protential help appreciated.

Categories

Resources