关闭系统默认铃声

Platform:RK3399
OS:Android 7.1.2

1.需求

需要关闭(修改)系统默认铃声。

2.相关文件及目录

build/target/product/core_base.mk b/target/product/core_base.mk

 PRODUCT_PROPERTY_OVERRIDES := 
     ro.config.notification_sound=OnTheHunt.ogg    //提示铃声
     ro.config.alarm_alert=Alarm_Classic.ogg         //闹钟铃声

build/target/product/full_base.mk b/target/product/full_base.mk

 # Additional settings used in all AOSP builds
 PRODUCT_PROPERTY_OVERRIDES := 
     ro.config.ringtone=Ring_Synth_04.ogg          //电话铃声
     ro.config.notification_sound=pixiedust.ogg     //提示音铃声

frameworks/base/data/sounds —ogg格式铃声存放目录

.
├── alarms                  //闹钟铃声
├── AllAudio.mk             //PRODUCT_COPY_FILES
├── notifications           //提示音铃声
├── ringtones               //电话铃声

3.实现方式

1.更换已有铃声

修改core_base.mk或full_base.mk为sounds目录下对应铃声名称即可。

2.更换自定义铃声

1.自己制作自定义ogg铃声,放到sounds对应目录下;
2.修改AllAudio.mk,仿照文件添加拷贝语句;
3.修改core_base.mk或full_base.mk对应铃声属性为自定义铃声。

3.默认关闭某个铃声

方法1:直接属性值为空

 PRODUCT_PROPERTY_OVERRIDES := 
      ro.config.notification_sound=OnTheHunt.ogg    //提示铃声
    - ro.config.alarm_alert=Alarm_Classic.ogg         //闹钟铃声
    + ro.config.alarm_alert=         //属性为空

方法2:使用mute.ogg空音频替代

 PRODUCT_PROPERTY_OVERRIDES := 
      ro.config.notification_sound=OnTheHunt.ogg    //提示铃声
    - ro.config.alarm_alert=Alarm_Classic.ogg         //闹钟铃声
    + ro.config.alarm_alert=mute.ogg         //属性为空

4.已知问题

上述修改默认音频的方案,直接烧录固件可以生效,但是使用OTA升级是不会生效的。
缘由:默认 属于用户设置数据,OTA升级不会修改用户数据
解决方案:
1.擦除用户数据
build/tools/releasetools/ota_from_target_files

- OPTIONS.wipe_user_data = False
+ OPTIONS.wipe_user_data = True

2.OTA升级时调用数据库更新接口
3.尽量在正式版发布前修改
4.下一批生产设备时使用最新修改过的固件

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容