一看就会Android之手机系统音量的设置

来源:互联网 发布:下载genbank数据库 编辑:程序博客网 时间:2024/05/02 04:25


AudioManager类位于android.Media包中,通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

audiomanager就是我们定义的控制系统声音的对象。

常用的音量控制的方法如下:

  1. 获取系统的最大音量

    getStreamMaxVolumeint streamType

2.获取当前手机音量

getStreamVolume(int streamType) --- ---返回int类型的结果,最大值为7最小值为0,为0时默认开启振动模式。

3.逐级性增大或减小音量(该方法不能直接设置音量为某个值,而是从当前音量逐级递减或递加,一般结合Button使用)

adjustStreamVolume(int streamType,int  direction,int flags);

第二个参数为调整音量的方向,取值有:ADJUST_LOWER(降低声音), ADJUST_RAISE(增加声音)和ADJUST_SAME

4.直接性设置音量大小(该方法适用于直接设置当前音量为某个值----一般结合SeekBar使用)

setStreamVolume(int streamType, int index, int flags)

第一个参数的几个值:

   AudioManager.STREAM_ALARM:手机闹铃的声音

   AudioManager.STREAM_MUSIC:手机音乐的声音

   AudioManager.STREAM_DTMFDTMF音调的声音

   AudioManager. STREAM_RING:电话铃声的声音

   AudioManager. STREAM_NOTFICATION:系统提示的声音

   AudioManager.STREAM_SYSTEM:系统的声音

   AudioManager. STREAM_VOICE_CALL:语音电话声音

第二个表示调整音乐的大小,

第三个参数表示显示调整时的可选的标志位,常取值为AudioManager.FLAG_SHOW_UI

5.设置指定类型的声音是否为静音,true代表为静音,false取消静音

setStreamMute(int streamType,Boolean state):

如为播放音乐设置点击静音按钮时静音,则如下:

setStreamMute(AudioManager.STREAM_MUSIC, true)

常用方法:
android audioManager
获取音量:

先获取AudioManager实例,
AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

//通话音量

int max =mAudioManager.getStreamMaxVolume( AudioManager.STREAM_VOICE_CALL ); 

int current =mAudioManager.getStreamVolume( AudioManager.STREAM_VOICE_CALL ); 

//系统音量

int max =mAudioManager.getStreamMaxVolume( AudioManager.STREAM_SYSTEM ); 

current =mAudioManager.getStreamVolume( AudioManager.STREAM_SYSTEM ); 

//铃声音量

max =mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING ); 

current =mAudioManager.getStreamVolume( AudioManager.STREAM_RING ); 

//音乐音量

max =mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC ); 

current =mAudioManager.getStreamVolume( AudioManager.STREAM_MUSIC ); 

 

//提示声音音量

max =mAudioManager.getStreamMaxVolume( AudioManager.STREAM_ALARM ); 

current =mAudioManager.getStreamVolume( AudioManager.STREAM_ALARM ); 

0 0