控制系统的音量大小,方法很简单,如果是手机,嘿嘿,请按音量加减键,如果想通过什么上下滑动屏幕来控制的话,那就得看看android是怎么控制音量的了。
AudioManager类,我们定义的控制系统声音的管理者,位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。咱们可以通过以下方式来获取到他:
AudioManager audiomanage = (AudioManager)getAcitivity().getSystemService(Context.AUDIO_SERVICE);
这里讲讲他的几种常用的方法:
方法一:
adjustVolume(int direction, int flags):用来控制手机音量大小。
参数一:传入AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入AudioManager.ADJUST_RAISE时,则可以将音量调大一个单位。
参数二:可选的标志位,FLAG_PLAY_SOUND 调整音量时播放声音,FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个,0 表示什么也没有。
方法二:
adjustStreamVolume(int streamType, int direction, int flags):(以步长)调节手机音量大小。
参数一:声音类型,STREAM_ALARM (警报)、STREAM_MUSIC (媒体音量)、STREAM_NOTIFICATION (窗口顶部状态栏Notification)、
STREAM_RING (手机铃声)、STREAM_SYSTEM (系统)、STREAM_VOICE_CALL (通话)、STREAM_DTMF (双音多频,不是很明白什么东西)。
参数二:调整音量的方向, ADJUST_LOWER 降低音量、ADJUST_RAISE 升高音量、ADJUST_SAME 音量保持不变,这个主要用于向用户展示当前的音量。
参数三:可选的标志位,FLAG_PLAY_SOUND 调整音量时播放声音,FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个,0 表示什么也没有。
方法三:
getMode():返回当前音频模式,如 MODE_NORMAL(普通), MODE_RINGTONE(铃声), MODE_IN_CALL(通话);
setMode():设置声音模式,可取值MODE_NORMAL(普通), MODE_RINGTONE(铃声), MODE_IN_CALL(通话)。
方法四:
getRingerMode():返回当前的铃声模式。如RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(静音)、RINGER_MODE_VIBRATE(震动);
setRingerMode(int ringerMode):改变铃声模式,可取值RINGER_MODE_NORMAL(普通)、RINGER_MODE_SILENT(静音)、RINGER_MODE_VIBRATE(震动)。
方法五:
getStreamVolume(int streamType):取得当前手机的指定类型音量,当为0时,手机自动将模式调整为“震动模式”。
参数:声音类型,STREAM_ALARM (警报)、STREAM_MUSIC (媒体音量)、STREAM_NOTIFICATION (窗口顶部状态栏Notification)、
STREAM_RING (手机铃声)、STREAM_SYSTEM (系统)、STREAM_VOICE_CALL (通话)、STREAM_DTMF (双音多频,不是很明白什么东西)。
方法八:
setStreamVolume(int streamType, int index, intflags) :直接设置音量大小(最常用的方法);
参数一:声音类型,STREAM_ALARM (警报)、STREAM_MUSIC (媒体音量)、STREAM_NOTIFICATION (窗口顶部状态栏Notification)、
STREAM_RING (手机铃声)、STREAM_SYSTEM (系统)、STREAM_VOICE_CALL (通话)、STREAM_DTMF (双音多频,不是很明白什么东西)。
参数二:想要调整的音量大小的数值。
参数三:可选的标志位,FLAG_PLAY_SOUND 调整音量时播放声音,FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的那个,0 表示什么也没有。