在 Android 音频系统中,设置音量时可以使用各种 flags 来控制音量调整的行为。这些 flags 主要用在 AudioManager 类的 setStreamVolume()、adjustStreamVolume() 和 adjustVolume() 等方法中。
一、flags介绍
不同 Android 版本可能支持不同的 flags,并且某些 flags 需要特定权限才能生效,对于 flags 类型的定义通常是在 AudioManager 中。
1、flags类型
源码位置:/frameworks/base/media/java/android/media/AudioManager.java
/**
* 显示音量变化的 UI 反馈(如音量条),通常在用户直接操作音量时使用
*
* @see #adjustStreamVolume(int, int, int)
* @see #adjustVolume(int, int)
* @see #setStreamVolume(int, int, int)
* @see #setRingerMode(int)
*/
public static final int FLAG_SHOW_UI = 1 << 0;
/**
* 允许音量调整影响铃声模式(静音、振动、正常),当音量为0并降低音量时,可能切换为静音或振动模式
*
* @see #adjustVo