系统默认的音量值
frameworks/base/media/java/android/media/AudioSystem.java
public static int[] DEFAULT_STREAM_VOLUME = new int[] {
4, // STREAM_VOICE_CALL
15, // STREAM_SYSTEM
8, // STREAM_RING
8, // STREAM_MUSIC
8, // STREAM_ALARM
8, // STREAM_NOTIFICATION
7, // STREAM_BLUETOOTH_SCO
15, // STREAM_SYSTEM_ENFORCED
11, // STREAM_DTMF
11 // STREAM_TTS
};
//获取输出设备和输入设备
public static String getOutputDeviceName(int device) {
...
}
public static String getInputDeviceName(int device) {
...
}
系统安全音量值的设置
frameworks/base/core/res/res/values/config.xml
<!-- 20170220 micheal modify 10 to 13 for home care app -->
<integer name="config_safe_media_volume_index">13</integer>
<!-- Whether safe headphone volume is enabled or not (country specific). -->
<bool name="config_safe_media_volume_enabled">true</bool>
系统音量的最大值和最小值
frameworks/base/services/core/java/com/android/server/audio/AudioService.java
/** Maximum volume index values for audio streams */
/// M: Modify the max stream volume @{
private static int[] MAX_STREAM_VOLUME = new int[] {
7, // STREAM_VOICE_CALL
15, // STREAM_SYSTEM
15, // STREAM_RING
15, // STREAM_MUSIC
15, // STREAM_ALARM
15, // STREAM_NOTIFICATION
15, // STREAM_BLUETOOTH_SCO
15, // STREAM_SYSTEM_ENFORCED
15, // STREAM_DTMF
15 // STREAM_TTS
};
/** Minimum volume index values for audio streams */
private static int[] MIN_STREAM_VOLUME = new int[] {
1, // STREAM_VOICE_CALL
0, // STREAM_SYSTEM
0, // STREAM_RING
0, // STREAM_MUSIC
0, // STREAM_ALARM
0, // STREAM_NOTIFICATION
1, // STREAM_BLUETOOTH_SCO
0, // STREAM_SYSTEM_ENFORCED
0, // STREAM_DTMF
0 // STREAM_TTS
};
adb查看系统默认的配置users后面的0表示用户id,不同的用户对应不同的id
/data/system/users/0
参考文章
Android java层音频相关的分析与理解(一)基本框架
Android java层音频相关的分析与理解(二)音量控制相关
Android java层音频相关的分析与理解(三)调用相关
Android java层音频相关的分析与理解(四)音频外设相关
简单聊一下Android音频通路的切换