Android系统拥有多种声音属性,包括有多媒体、通话、通知等声音属性,这些声音属性分别含有自己默认音量、最大音量和最小音量属性。我们看下Android10系统源码对此的定义和设置。
默认音量
音量设置和定义都在frameworks/base/media/java/android/media/AudioSystem.java中。具体如下:
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
};
最大音量和最小音量
系统声音的最大音量和最小音量则定义在
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_A