高通音乐播放的音量调试和FM 音量调试

Modify codes as shown in below:

const AudioPolicyManagerBase::VolumeCurvePoint
AudioPolicyManagerBase::sSpeakerMediaVolumeCurve[AudioPolicyManagerBase::VOLCNT]
= {
-{1, -56.0f}, {20, -34.0f}, {60, -11.0f}, {100, 0.0f}
+{1, -29.7f}, {20, -20.1f}, {60, -11.0f}, {100, 0.0f}
};

 说明:播放音乐时有15个等级,换算成
100等分就是100*index/15,最小到最大对应为6,13,
20, 26, 33,40, 46, 53, 60, 66, 73, 80, 86, 93, 100,
可以根据这个index在图里找到对应的分贝值,所以
如果低7级声音太小,只要把前面两个点的坐标往上
提就可以了.

这里写图片描述

 可以修改DSP里的CodecRxGain来改变FM的音量,但因为Audio Record
Path也用到CodecRxGain,因此修改CodecRxGain的会同时改变录音的音
量;
 代码上修改:
 在文件Msm-pcm-routing-v2.c (kernel\sound\soc\msm\qdsp6v2) 中将以下宏:

define INT_RX_VOL_MAX_STEPS 0x2000
define INT_RX_VOL_GAIN 0x2000

我们这边默认都是0x2000,可适当加大至0x4000;
 在文件AudioHardwareALSA.cpp 函数 AudioHardwareALSA::setParameters() 修
改以下处
…….

fm_volume = lrint((fm_volume * 0x4000) + 0.5); /*这个地方默认是
0x2000,将其修改为以上设置的宏一样大*/
ALOGV("set Fm Volume(%f)\n", fm_volume);
ALOGV("Setting FM volume to %d (available range is 0 to 0x4000)\n",
fm_volume);
mALSADevice->setFmVolume(fm_volume);
param.remove(key);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值