Android系統開發 Android10系統設置默認音量大小(多媒體默認音量、通話默認音量、鬧鐘默認音量、系統提示音默認音量)

前言

  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章