[Android Q&A, Help & Troubleshooting] taceto32:
there 's someone can halp me? i have rooted my new rom android 2.3.5 for chinese tablet ( renesas cortex a9) but i have some bluetooth isseus.....with headset my audio is forced to speakerphone.....ony calling sound...media and music working good...so i think there is something to change in asound config....i'll post my file here...hooping in someone who can guide me...!!

if some one can help me...i think it's useful for many users!!

# asound_voice.conf

# Android ALSA configuration file for the Realtek ALC5621

########################################################################

#	{name "Playback Switch"	value 2	}	# # 0:OFF 1:RCV 2:SPK 3:HP3P 4:HP4P 5:BT 6:DUAL 7:RING_SPK 8:RING_HP 9:RING_DUAL

#	{name "Playback Volume"	value [32 32]	}	# min:0(mute) max:32

#	{name "Playback Volume HP"	value [32 32]	}	# min:0(mute) max:32

#	{name "Capture Volume"	value [32 32]	}	# min:0(mute) max:32

#	{name "Capture Volume Sub"	value [32 32]	}	# min:0(mute) max:32

#	{name "Capture Source Switch"	value 0	}	# 0:Main Mic 1:Sub MIC(headset MIC)

#	{name "Capture Boost"	value 3	}	# 0:BY_PASS 1:+20dB 2:+30dB 3:+40dB

#	{name "Capture Boost Sub"	value 3	}	# 0:BY_PASS 1:+20dB 2:+30dB 3:+40dB

#	{name "Capture Channel Mode Switch"	value 0	}	# 0:Stereo 1:Mono Lch 2:Mono Rch 3:MIX

#	{name "Sampling Rate Switch"	value 7	}	# 0:8KHz 1:11.025K 2:12K 3:16K 4:22.05 5:24K 6:32K 7:44.1K 8:48K

#	{name "CODEC Power Switch"	value 1	}	# 0:off 1:on

#########################################################################

##

## Mixer Devices

##

ctl.AndroidPlayback {

type hw

card 0 # Can replace with driver"s name from /proc/asound/cards

}

ctl.AndroidRecord {

type hw

card 0 # Can replace with driver"s name from /proc/asound/cards

}

ctl.AndroidCapture {

type hw

card 0 # Can replace with driver"s name from /proc/asound/cards

}

##

## Playback Devices

##

# Fallback device for playing out of speaker.

#	AndroidPlayback_Speaker (out of call)

#	AndroidPlayback_Earpiece (out of call)

#

pcm.AndroidPlayback {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

channels 2

}

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 2	}

]

}

}

pcm.rt5621 {

type plug

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

}

}

pcm_slave.incall {

pcm rt5621

}

pcm.AndroidPlayback_Headset {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

}

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 2 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

# Enable audio output from the DSP

{name "Playback Switch"	value 4}	# 0:OFF 1:RCV 2:SPK 3:HP3P 4:HP4P 5:BT 6:DUAL 7:RING_SPK 8:RING_HP 9:RING_DUAL

]

}

}

pcm.AndroidPlayback_Headphone {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

}

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 4 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

# Enable audio output from the DSP

{name "Playback Switch"	value 3}	# 0:OFF 1:RCV 2:SPK 3:HP3P 4:HP4P 5:BT 6:DUAL 7:RING_SPK 8:RING_HP 9:RING_DUAL

]

}

}

pcm.AndroidPlayback_Speaker_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 1 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 2	}

{ name 'Capture Boost'	value 2	}	# 0:Main Mic 1:Sub MIC

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Headset_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 3 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 4	}

{ name 'Capture Source Switch'	value 1	}	# 0:Main Mic 1:Sub MIC

{ name 'Capture Boost Sub'	value 1	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Headphone_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 5 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 4	}

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

{ name 'Capture Boost'	value 2	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Speaker_Headset {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

}

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

# Enable audio output from the DSP

{name "Playback Switch"	value 6}	# 0:OFF 1:RCV 2:SPK 3:HP3P 4:HP4P 5:BT 6:DUAL 7:RING_SPK 8:RING_HP 9:RING_DUAL

]

}

}

pcm.AndroidPlayback_Speaker_Headphone {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio playback"

}

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

# Enable audio output from the DSP

{name "Playback Switch"	value 6}	# 0:OFF 1:RCV 2:SPK 3:HP3P 4:HP4P 5:BT 6:DUAL 7:RING_SPK 8:RING_HP 9:RING_DUAL

]

}

}

##

## Recording device

##

pcm.AndroidCapture {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio capture"

}

hooks.0 {

type ctl_elems

hook_args [

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

{ name 'Capture Boost'	value 2	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidCapture_Headset {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio capture"

}

hooks.0 {

type ctl_elems

hook_args [

{ name 'Capture Source Switch'	value 1	}	# 0:Main Mic 1:Sub MIC

{ name 'Capture Boost Sub'	value 2	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Speaker_Headset_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 6	}

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'DAC Vol'	value [30 30]	}

#	{ name 'Capture Boost'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume' value [0 0]	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume Sub' value [32 32]	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Speaker_Headphone_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 6	}

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'DAC Vol'	value [30 30]	}

#	{ name 'Capture Boost'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume Sub' value [0 0]	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume' value [32 32]	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Speaker_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 0 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 2	}

#	{ name 'DAC Vol'	value [30 30]	}

#	{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Boost'	value 1	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume Sub' value [0 0]	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume' value [32 32]	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Headset_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 2 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 4	}

{ name 'Capture Source Switch'	value 1	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Boost Sub'	value 2	}	# 0:Main Mic 1:Sub MIC

#	{ name 'DAC Vol'	value [ 24 24 ]	}

#	{ name 'Capture Volume' value [0 0]	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume Sub' value [32 32]	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidPlayback_Headphone_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

{ name "Codec Mode" value 2 } #"0. speaker", "1. speaker_incall", "2 .headset", "3. headset_incall","4. headphone","5. headphone_incall"

{ name 'Playback Switch'	value 4	}

{ name 'Capture Source Switch'	value 0	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Boost'	value 1	}	# 0:Main Mic 1:Sub MIC

#	{ name 'DAC Vol'	value [24 24]	}

#	{ name 'Capture Volume Sub' value [0 0]	}	# 0:Main Mic 1:Sub MIC

#	{ name 'Capture Volume' value [32 32]	}	# 0:Main Mic 1:Sub MIC

]

}

}

pcm.AndroidCapture_Headset_vousb_incall {

type hooks

slave.pcm {

type hw

card 0

device 0	# Must be of type "digital audio capture"

}

hooks.0 {

type ctl_elems

hook_args [

]

}

}

pcm.AndroidCapture_vousb_incall {

type hooks

slave incall

hooks.0 {

type ctl_elems

hook_args [

]

}

}