当前位置:网站首页>AOSP ~ 修改默认音量
AOSP ~ 修改默认音量
2022-06-11 02:03:00 【南柯好萌】
frameworks/base/media/java/android/media/AudioSystem.java
/** @hide */
public static int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
5, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
5, // STREAM_DTMF
5, // STREAM_TTS
5, // STREAM_ACCESSIBILITY
5, // STREAM_ASSISTANT
};
frameworks/base/services/core/java/com/android/server/audio/AudioService.java
/** Maximum volume index values for audio streams */
protected static int[] MAX_STREAM_VOLUME = new int[] {
5, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
7, // STREAM_RING
15, // STREAM_MUSIC
7, // STREAM_ALARM
7, // STREAM_NOTIFICATION
15, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
15, // STREAM_DTMF
15, // STREAM_TTS
15, // STREAM_ACCESSIBILITY
15 // STREAM_ASSISTANT
};
DEFAULT_STREAM_VOLUME
默认的音量,数值不是代表的音量具体大小,而是占多少
MAX_STREAM_VOLUME
最大的音量
ro.config.media_vol_default
如果定义了该值,则默认音量值会被设置为该属性值的大小。如果没有定义该属性值,则默认音量值会被强制设置为最大音量值的1/4(手机模式)或者1/3(其他模式)。
因此,想修改默认的media音量大小,有两种方法可以修改
- 一种方法是定义ro.config.media_vol_default的系统属性值,这种方法不用修改源文件,只需在配置文件中增加一句即可
- 另一种方法是,将AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] 强制地赋值为你想设置的音量大小
int maxMusicVolume = SystemProperties.getInt("ro.config.media_vol_steps", -1);
if (maxMusicVolume != -1) {
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = maxMusicVolume;
}
if(isBox()){
mFixedVolumeDevices.clear();
}
int defaultMusicVolume = SystemProperties.getInt("ro.config.media_vol_default", -1);
if (defaultMusicVolume != -1 &&
defaultMusicVolume <= MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] &&
defaultMusicVolume >= MIN_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]) {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = defaultMusicVolume;
} else {
if (isPlatformTelevision()) {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] =
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] / 4;
} else {
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] =
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] / 3;
}
}
边栏推荐
- 那些笑着离开“北上广”的人,为何最后都哭了?
- Add SQL formatter to vscode to format SQL
- 10007. ISBN号码
- Jetpack Compose Scaffold和BottomAppBar(底部导航)
- 20220610 星期五
- Common vocabulary of software testing English
- When a logical deletion encounters a unique index, what are the problems and solutions?
- SQL | return customer name, relevant order number and total price of each order
- 10007. ISBN number
- Setting access to win10 shared folder without verification
猜你喜欢

扁平数据转tree与tree数据扁平化

Technology sharing | quick intercom, global intercom

Link list of high frequency written interview question brushing summary (distribution explanation & code annotation)

When the interviewer opens his mouth, he comes to compose. Is this the case now?

Project load failed

金属有机框架MOF-Al(DIBA),MOF-Zr(DIBA),MOF-Fe(DIBA)包载姜黄素/羧苄西林/MTX甲氨蝶呤/紫杉醇PTX/阿霉素DOX/顺铂CDDP/CPT喜树碱等药物

Modify release opening animation

微信小程序

你的公司会选择开发数据中台吗?

APP测试_测试点总结
随机推荐
Metal organic framework MOF Al (Diba), MOF Zr (Diba), MOF Fe (Diba) loaded with curcumin / carboxybenzylpenicillin /mtx methotrexate / paclitaxel ptx/ DOX / cisplatin cddp/cpt camptothecin and other d
GCC C inline assembly
如何3步精读《PMBOK指南》(经验+资料分享)
2022 safety officer-b certificate examination question bank and answers
Web watermark
Link list of high frequency written interview question brushing summary (distribution explanation & code annotation)
Modify release opening animation
mysql重装时写my.ini配置文件出错
92. CompletableFuture 实战
【无标题】
查看Redis内数据,除了命令行和客户端,你还有第三种选择
Jetpack Compose Scaffold和TopAppBar(顶部导航)
Jetpack Compose Box控件
Explanation of spark common parameters
Metal organic framework materials (fe-mil-53, mg-mof-74, ti-kumof-1, fe-mil-100, fe-mil-101) supported on isoflurane / methotrexate / doxorubicin (DOX) / paclitaxel / ibuprofen / camptothecin
The diligent is the laziest
扁平数据转tree与tree数据扁平化
Xampp is used under M1 chip, and the installation extension error
【AI周报】AI与冷冻电镜揭示「原子级」NPC结构;清华、商汤提出「SIM」方法兼顾语义对齐与空间分辨能力
Colab reported an error: importerror: cannot import name '_ check_ savefig_ extra_ args‘ from ‘matplotlib. backend_ bases‘