0. Thanks To
1. 音量调节
我们知道,在平常调节音量的时候,是有一定的调节数值,
也就是,每按一次音量+/-,音量的增加/减小幅度,这个我们称为:系统的音量步进值。
而,音量还有一定的范围,系统的是:0到Max,Max不确定,这个称为:系统的音量范围。
在Android中,是有几种类型的音量可以调节:
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
Android中的所有音量都是通过:AudioManager 去管理的,也是通过它去调节:
//获取系统的Audio管理者
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//最大音量
int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//当前音量
int currentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
而,日常的项目中,有两种的调节方式:
1.渐进式,即像手动按音量键一样,一步一步增加或减少:
通过AudioManager的adjustStreamVolume方法
public void adjustStreamVolume (int streamType, int direction, int flags)
参数说明:
int streamType 需要调整的音量类型
(以下常量定义于AudioManager类中)
STREAM_ALARM 警报
STREAM_MUSIC 音乐回放即媒体音量
STREAM_NOTIFICATION 窗口顶部状态栏Notification,
STREAM_RING 铃声
STREAM_SYSTEM 系统
STREAM_VOICE_CALL 通话
STREAM_DTMF 双音多频,不是很明白什么东西
int direction 调整的方向,加或者减。
(以下常量定义于AudioManager类中)
ADJUST_LOWER 降低音量
ADJUST_RAISE 升高音量
ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
int flags 附加的一些参数
参数的说明参考API文档:http://www.android-doc.com/reference/android/media/AudioManager.html
FLAG_PLAY_SOUND 调整音量时播放声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个
0表示什么也没有
2.直接自定义调节的幅度(步进值),直接调节音量大小。
public void setStreamVolume (int streamType, int index, int flags)
参数说明:
第一个,第三个和上面的一样
第二个参数:
int index: 把音量调整到index值。