MTK Audio Tuning Tool set Normal Recond Volume Invaild

来源:互联网 发布:物联网 java 编辑:程序博客网 时间:2024/06/06 23:16
问题根本因:
mtk音频调试工具在设置普通录音音量后,只是将音量参数设置到ram中没有设置到对应的
寄存器中。
解决方案:
  a.工具上设置音频参数后,adb中执行命令 adb shell AudioSetParam  UpdateMicGain=1  
b.需要mtk修改音频调试工具;
分析过程:

开启录音应用时设置 Mic gain 过程:由 SetCaptureGain 函数调用ApplyMicGain 最终将mic参数设置到register中

函数调用流程:SetCaptureGain() --->ApplyMicGain(),log如下:

15:36:11.169255   751 28084 D AudioALSAVolumeController: +SetCaptureGain(), mode=0, source=1, input device=0x80000004, output device=0x2 //mode=0 表示为Idle_Normal_Record 模式。
15:36:11.169305   751 28084 D AudioYusuParam: QueryFeatureSupportInfo(),feature support 2290045 
15:36:11.169363   751 28084 D AudioALSAVolumeController: ApplyMicGain MicType = 0 DegradedBGain = 12 SwAgcGain = 16, mULTotalGain = 192//MicType = 0Idle_Normal_Record
15:36:11.169412   751 28084 D AudioALSAVolumeController: ApplyMicGain mSwAgcGain = 16, mULTotalGain=192 DegradedBGain = 12

通过工具调试录音模式音频参数调用流程如下:通

设置mic gain值到ram后没有调用ApplyMicGain 设置mic gain到register。
如下调用流程:通过工具设置volume为255后,调用initVolumeController函数从Nvran中获取工具写入的音频参数放到mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][4]然后更新到对应的模式变量中mULTotalGainTable[mode]、mMicGain[Mode] 。然后通过setparamters接口更新参数到对应的寄存器中,但是没有调用“UpdateMicGain=1” 导致录音mic参数不生效。

15:36:37.892043   751  1280 D AudioALSAVolumeController: mVolumeParam.audiovolume_mic[VOLUME_NORMAL_MODE][4] = 255 // 通过工具设置volume参数为255
.....
15:36:37.899049   751  1280 D AudioALSAVolumeController: Volume = 252 UPLINK_GAIN_MAX DegradedB = 0.000000 
15:36:37.899096   751  1280 D AudioALSAVolumeController: SetULTotalGain MicMode=0, Volume=252 //代码中判断volume不能大于252,若大于252则等于252
15:36:37.899141   751  1280 D AudioALSAVolumeController: SetMicGain MicMode=0, Gain=0

15:36:38.172890   751  2299 D AudioALSAHardware: +setParameters(): UpdateBesRecordParameters=1
15:36:38.405347   751  1280 D AudioALSAHardware: +setParameters(): UpdateBesRecordParameters=1
15:36:38.689454   751   751 D AudioALSAHardware: +setParameters(): UpdateBesRecordParameters=1
15:36:38.869964   751  2609 D AudioALSAHardware: +setParameters(): UpdateBesRec
原创粉丝点击