修改系统默认音量需要改两处地方:
1. frameworks\base\media\java\android\media\AudioManager.java
/** @hide Default volume index values for audio streams */
public static final int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
8,//11, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
11, // STREAM_DTMF
11, // STREAM_TTS
4 // STREAM_INCALL_MUSIC
};
此处的音量值用来生成settings.db数据库字段的值。settings.db数据库在Android 5.x中的路径为/data/data/com.android.providers.settings/database/目录下。
2. frameworks\base\media\java\android\media\AudioService.java
/** @hide Maximum volume index values for audio streams */
private static int[] MAX_STREAM_VOLUME = new int[] {
15, // 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
}; private static int[] DEFAULT_STREAM_VOLUME = new int[] {
15, // STREAM_VOICE_CALL
7, // STREAM_SYSTEM
5, // STREAM_RING
8,//11, // STREAM_MUSIC
6, // STREAM_ALARM
5, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
7, // STREAM_SYSTEM_ENFORCED
11, // STREAM_DTMF
11 // STREAM_TTS
};
MAX_STREAM_VOLUME 数组为系统最大音量值。
DEFAULT_STREAM_VOLUME 数组为系统默认音量值。