【Android系统源码修改】如何修改frameworks实现音量统一调节

本文介绍了如何通过修改Android系统的frameworks源码实现音量的最大值、默认值的统一,并拦截音量键分发,通过添加广播接收者处理音量变化,以及调整音量调节步长。步骤包括修改AudioService.java、PhoneWindowManager.java中的关键代码,以及配置config.xml文件。测试确保改动生效。
摘要由CSDN通过智能技术生成

文章目录


源码为MTK的MT8735平台源码,android 5

###1 修改音量最大值和默认音量

源码位置:frameworks/base/media/java/android/media/AudioService.java 约266行
MAX_STREAM_VOLUME为最大值,DEFAULT_STREAM_VOLUME为默认值
为了统一调节音量,把默认音量和最大音量,所有STREAM都保持一致。
如果采用Master音量调节,就不需要设置了,因为Master音量调节最大都是100

 /** @hide Maximum volume index values for audio streams */
   /// M: Modify the max stream volume @{
    private static final int[] MAX_STREAM_VOLUME = new int[] {
        20,  // STREAM_VOICE_CALL
        20,  // STREAM_SYSTEM
        20,  // STREAM_RING
        20,  // STREAM_MUSIC
        20,  // STREAM_ALARM
        20,  // STREAM_NOTIFICATION
        20,  // STREAM_BLUETOOTH_SCO
        20,  // STREAM_SYSTEM_ENFORCED
        20,  // STREAM_DTMF
        20,  // STREAM_TTS
    };
    /// @}

    /**
     * @hide Default volume index values for audio streams
     * M: modify the default stream volume @{
     */
    public static int[] DEFAULT_STREAM_VOLUME = new int[] {
        9,  // STREAM_VOICE_CALL
        9,  // STREAM_SYSTEM
        9,  // STREAM_RING
        9,  // STREAM_MUSIC
        9,  // STREAM_ALARM
        9,  // STREAM_NOTIFICATION
        9,  // STREAM_BLUETOOTH_SCO
        9,  // STREAM_SYSTEM_ENFORCED
        9,  // STREAM_DTMF
        9,  // STREAM_TTS
    };
    /** @ */

###2 拦截音量键分发

源码位置:fr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bright_Lin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值