Android中各种音量调节的方法

我们手机的音量一般都是由用户通过手机侧面的音量按钮进行调节的,但是有时候我们也是需要自己进行一些音量的调节,那我们就需要对Android音量调节有一个全面的认识。今天给大家介绍一些Android中的音量调节。

1.铃音种类介绍

要想调节音量,我们就要对Android系统中的铃音种类有一个认识。Android系统中国一共有6类铃音,分别是通话音,系统音,铃音,媒体音,闹钟音,通知音。我列出一张表格,其中包含了各种铃音和对应的标记。

AudioManager类的铃声类型

铃声名称 说明
STREAM_VOICE_CALL 通话音  
STREAM_SYSTEM 系统音  
STREAM_RING 铃音 来电与收短信的铃声
STREAM_MUSIC 媒体音 音频、视频、游戏等的声音
STREAM_ALARM 闹钟音  
STREAM_NOTIFICATION 通知音  

2.AudioManager的介绍和获取

管理这些铃声音量的工具是AudioManager,对象从系统服务AUDIO_SERVICE中获取。获取方法如下:

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

3.AudioManager常用方法

  • getStreamMaxVolume:获取指定类型铃声的最大音量。
  • getStreamVolume:获取指定类型铃声的当前音量。
  • getRingerMode:获取指定类型铃声的响铃模式。响铃模式的取值说明见下表:
表1
AudioManager类的响铃模式 说明
RINGER_MODE_NORMAL 正常
RINGER_MODE_SILENT 静音
RINGER_MODE_VIBRATE 震动
  • setStreamVolume:设置指定类型铃声的当前音量。
  • setRingerMode:设置指定类型铃声的响铃模式。响铃模式的取值说明见表1。
  • adjustStreamVolume:调整指定类型铃声的当前音量。第一个参数是铃声类型;第二个参数是调整方向,音量调整方向的取值说明见表2;第三个参数表示调整时的附加动作,一般使用FLAG_PLAY_SOUND表示调整时提示一个铃声。
表2
AudioManager类的音量调整方向 说明
ADJUST_RAISE 调大一级
ADJUST_LOWER 调小一级
ADJUST_SAME 抱持不变
ADJUST_MUTE 静音
ADJUST_UNMUTE 取消静音
ADJUST_TOGGLE_MUTE 静音取反,即原来不是静音就设置静音,原来是静音就取消静音。

4.setStreamVolume和adjustStreamVolume的区别

setStreamVolume和adjustStreamVolume两个方法都能用来设置音量,不同的是setStreamVolume直接将音量调整到目标值,通常与拖动条配合使用;而adjustStreamVolume是以当前音量为基础,然后调大、调小或调静音。

5.使用示例

我们给出一个调整媒体音量的例子。其中setStreamVolume第二个参数的值要和getStreamMaxVolume配合使用,获取当前设备最大的音量值。

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC,10,AudioManager.FLAG_PLAY_SOUND);

关于Android中音量的调节就先写这么多了,大家有什么新的发现可以留言告诉我。

你可能感兴趣的:(Android,Studio开发实战,从零基础到APP上线)