手机有两个喇叭,分别是听筒和扬声器,我就在想,既然有2个喇叭,为何不充分利用,那可不可以尝试做出双扬的效果。
通过搜寻,知道在系统分区里的mixer_paths_mtp.xml文件修改,打开寻找到这个
<path name="speaker">
在这个扬声器的路径上,添加听筒的代码,使此听筒和扬声器,一起联动发出声音。
在尝试修改后,发现两个喇叭所发出的音量各不一样,使我联想到两个喇叭的硬件规模不一样,还是有些差距,特别是发出的音量,那么,要怎么做才能平衡两个喇叭发出的音量呢?
平衡两个喇叭发出的音量,那么还是在
<path name="speaker">
的下面修改,修改volume那行后面的数字,就可以修改输出通道的音量大小。
听筒声音调大点,扬声器声音调小点,这样,两个喇叭所发出的声音就平衡了。
但是,发现了一个问题,我暂时还不晓得咋调整。
两个喇叭同时发出左右声道,RX1和RX2两个通道,发现可以同时发出左右声,没有立体感,不知道咋分离 左右声道,在此,提问。
个人总结
附上中文翻译,某些可能不太准。
switch,目标输出的开关(去掉没声音)
volume,各个输出通道的音量(可以去掉,仍然有声音)
<path name="speaker">
<路径名="扬声器">
<ctl name="RX3 MIX1 INP1" value="RX2" />
硬件RX3喇叭,输出RX2声音通道
<ctl name="RX3 Digital Volume" value="58" />
硬件RX3喇叭,输出音量为58
<ctl name="MI2S_RX Channels" value="Two" />
扬声器,输出喇叭数量为2个
<ctl name="LINE_OUT" value="Switch" />
不懂
<ctl name="HPHL" value="Switch" />
<ctl name="HPHR" value="Switch" />
左声道和右声道
<path name="handset">
<路径名="手机听筒">
<path name="headphones">
<路径名="耳机">
mixer_paths_mtp.xml原文件
代码有点长,选取一点点
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="ADC1 Volume" value="6" />
<ctl name="DEC1 MUX" value="ADC1" />
<ctl name="ADC1_INP1 Switch" value="1" />
</path>
<path name="adc2">
<ctl name="ADC2 Volume" value="6" />
<ctl name="DEC1 MUX" value="ADC2" />
</path>
<path name="adc3">
<ctl name="ADC3 Volume" value="6" />
<ctl name="DEC1 MUX" value="ADC2" />
<ctl name="ADC2 MUX" value="INP3" />
</path>
<path name="hdmi">
</path>
<path name="speaker">
<ctl name="RX3 MIX1 INP1" value="RX1" />
<ctl name="RX3 Digital Volume" value="79" />
<ctl name="LINE_OUT" value="Switch" />
</path>
<path name="speaker-and-hdmi">
<path name="speaker" />
<path name="hdmi" />
</path>
<path name="wsa-speaker">
<ctl name="RX3 MIX1 INP1" value="RX1" />
<ctl name="RX3 Digital Volume" value="84" />
<ctl name="LINE_OUT" value="Switch" />
<ctl name="SpkrMono WSA_RDAC" value="Switch" />
</path>
<path name="spkr-rx-calib">
<ctl name="PRI_MI2S_RX_DL_HL Switch" value="1" />
</path>
<path name="vi-feedback">
</path>
<path name="spkr-vi-record">
<ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
</path>
<path name="speaker-protected">
<ctl name="DEC3 MUX" value="DMIC3" />
<ctl name="DEC4 MUX" value="DMIC4" />
<path name="wsa-speaker" />
<ctl name="PRI_MI2S_RX_VI_FB_MUX" value="SENARY_TX" />
<ctl name="SpkrMono VISENSE Switch" value="1" />
</path>
<path name="voice-speaker-protected">
<path name="speaker-protected" />
</path>
<path name="speaker-mic">
<path name="adc3" />
<ctl name="IIR1 INP1 MUX" value="DEC1" />
</path>
<path name="handset">
<ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RDAC2 MUX" value="RX1" />
<ctl name="RX1 Digital Volume" value="84" />
<ctl name="EAR PA Gain" value="POS_6_DB" />
<ctl name="EAR_S" value="Switch" />
</path>
<path name="handset-mic">
<path name="adc1" />
<ctl name="ADC1 Volume" value="6" />
<ctl name="IIR1 INP1 MUX" value="DEC1" />
</path>
<path name="headphones">
<ctl name="MI2S_RX Channels" value="Two" />
<ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RX2 MIX1 INP1" value="RX2" />
<ctl name="RX HPH Mode" value="HD2" />
<ctl name="COMP0 RX1" value="0" />
<ctl name="COMP0 RX2" value="0" />
<ctl name="RDAC2 MUX" value="RX2" />
<ctl name="HPHL" value="Switch" />
<ctl name="HPHR" value="Switch" />
</path>