今天调程序的时候在HAL出现:Requested rate (8000 HZ) does not match actual rate (44100 HZ),问题发生在snd_pcm_hw_params_set_rate_near,难道驱动那边给写死了?又下去看了会驱动,没发现给写死的地方,只发现当在打电话的时候会写死成8000,可我这不是call mode啊,后来跟其它几个录音播放路径一对比,是在asound.conf里面出了问题。
pcm.AndroidCapture_Bluetooth_normal {
type hooks
slave.pcm default
hooks.0 {
type ctl_elems
hook_args [
#Off the other path
#AIF3-->AIF2-->AIF1ADC
{ name 'AIF2DAC Volume' value[96 96]}
{ name 'AIF2DACL Source' value 'Left'}
pcm.AndroidCapture_Bluetooth_normal {
type hooks
slave {
pcm{
type hw
card 0
device 0
}
}
hooks.0 {
type ctl_elems
hook_args [
#Off the other path
#AIF3-->AIF2-->AIF1ADC
{ name 'AIF2DAC Volume' value[96 96]}
{ name 'AIF2DACL Source' value 'Left'}
{ name 'AIF2DACR Source' value 'Left'}
{ name 'AIF2DAC Mux' value 'AIF3DACDAT'}
当使用default的时候,上面传下来是多少就是多少。开来alsa lib还得进一步学习。