Android系统开发 Android10系统设置默认音量大小(多媒体默认音量、通话默认音量、闹钟默认音量、系统提示音默认音量)

发布时间 2023-11-24 11:24:41作者: 观心静

前言

  framework开发,此博客基于Android10版本,实现修改默认音量大小。 请注意此博客演示的修改默认音量是如下几个:

  • 多媒体默认音量
  • 通话默认音量
  • 闹钟默认音量
  • 系统提示音默认音量

   其他默认音量,例如默认铃声、默认通知声音等等,这些在Android10已经剥离了AudioService.java

 

例子:将默认音量设置为最大

统一最大音量 

首先建议修改一下最大音量,因为在默认系统里这些铃声的最大等级都是不同的,这样我们需要一一对应去设置指定数值的最大值,这样太麻烦了,干脆全部统一。

将AudioService.java下面最大音量的代码部分,重新修改

路径 ./frameworks/base/services/core/java/com/android/server/audio/AudioService.java

未修改的源代码

修改后,为了方便,我们这边统一全部修改成15

设置默认音量

路径 ~/aosp/build/tools/buildinfo.sh

在buildinfo.sh文件中里增加

echo "ro.config.media_vol_default=15"
echo "ro.config.vc_call_vol_default=15"
echo "ro.config.alarm_vol_default=15"
echo "ro.config.system_vol_default=15"

如下部分代码:

然后重新编译

检查结果

方式一

查看编译输出目录下的结果

zhou@DESKTOP-9QKQBJG:~/aosp$ cat out/target/product/generic_x86_64/system/build.prop

方式二

写入设备直接查看

代码分析

这里解释下为什么在buildinfo.sh里添加各种ro属性会改变设备的默认音量。

在AudioService的构造方法里如下部分,读取了ro参数,初始化了多媒体默认音量、通话默认音量、闹钟默认音量、系统提示音默认音量。

而SystemProperties的参数配置,都来源于system/build.prop, 而build.prop来源于buildinfo.sh的配置。

 

 

end