Android下的音频通道配置文件mixer_paths.xml

audio一般集成在pmic上,如

mic(mic1_p,mic1_n,mic_bias 主mic)

aux_mic(mic2_p,mic2_n,mic_bias,辅mic,用来降噪,手机不一定有该mic)

headphone(headmic_bias,headmic_p,headmic_n,headmic_in_det,headset_in_det,hp_l,hp_r,kamp_vcom 耳机)

speaker(spk_n,spk_p    下喇叭  系统声音/听音乐,电话免提)

earpiece(rev_p,rev_n  上喇叭  打电话)

Android选择相应的设备后,会传递给hal层,hal层根据表格记录的通道,传递相应的参数给内核,如

 
<device name="builtin-mic">
  <path name="on">
     <ctl name="ADC LRCLK Select" val="invert"/>
     <ctl name="ADC1 LRCLK Select" val="invert"/>
     <ctl name="ADCL Mixer MainMICADCL Switch" val="1" />
     <ctl name="Mic Function" val="1" />
  </path>
  <path name="off">
     <ctl name="Mic Function" val="0" />
     <ctl name="ADCL Mixer MainMICADCL Switch" val="0" />
     <ctl name="ADC1 LRCLK Select" val="normal"/>
     <ctl name="ADC LRCLK Select" val="normal"/>
  </path>
</device>
 
<device name="back-mic">
  <path name="on">
     <ctl name="ADCR Mixer AuxMICADCR Switch" val="1" />
     <ctl name="Aux Mic Function" val="1" />
  </path>
  <path name="off">
     <ctl name="Aux Mic Function" val="0" />
     <ctl name="ADCR Mixer AuxMICADCR Switch" val="0" />
  </path>
</device>
 
<device name="headset-in">
  <path name="on">
     <ctl name="ADCL Mixer HPMICADCL Switch" val="1" />
     <ctl name="ADCR Mixer HPMICADCR Switch" val="1" />
     <ctl name="HP Mic Function" val="1" />
  </path>
  <path name="off">
     <ctl name="HP Mic Function" val="0" />
     <ctl name="ADCL Mixer HPMICADCL Switch" val="0" />
     <ctl name="ADCR Mixer HPMICADCR Switch" val="0" />
  </path>
</device>
 
<device name="speaker">
   <path name="on">
     <ctl name="SPKL Mixer DACLSPKL Switch" val="1" />
     <ctl name="Speaker Function" val="1" />
   </path>
   <path name="off">
     <ctl name="Speaker Function" val="0" />
     <ctl name="SPKL Mixer DACLSPKL Switch" val="0" />
   </path>
</device>
 
<device name="headphone">
   <path name="on">
     <ctl name="HPL EAR Sel" val="HPL" />
     <ctl name="HPL Mixer DACLHPL Switch" val="1" />
     <ctl name="HPR Mixer DACRHPR Switch" val="1" />
     <ctl name="HeadPhone Function" val="1" />
   </path>
   <path name="off">
     <ctl name="HeadPhone Function" val="0" />
     <ctl name="HPL Mixer DACLHPL Switch" val="0" />
     <ctl name="HPR Mixer DACRHPR Switch" val="0" />
     <ctl name="HPL EAR Sel" val="EAR" />
   </path>
</device>
 
<device name="earpiece">
   <path name="on">
     <ctl name="EAR Mixer DACLEAR Switch" val="1"/>
     <ctl name="Earpiece Function" val="1" />
   </path>
   <path name="off">
     <ctl name="Earpiece Function" val="0" />
     <ctl name="EAR Mixer DACLEAR Switch" val="0"/>
   </path>
</device>
在调试阶段,我们也可以通过tinymix来切换通道,tinycap采集声音,tinyplay播放 声音,如使用 听筒播放音乐,根据上表(每个平台的配置都不一样,名字可能是tiny_hw.xml,mixer_paths_skuc.xml等)

tinymix "EAR Mixer DACLEAR Switch" "1"
tinymix "Earpiece Function" "1" 
tinyplay /data/江南.wav
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值