我们手机的音量一般都是由用户通过手机侧面的音量按钮进行调节的,但是有时候我们也是需要自己进行一些音量的调节,那我们就需要对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中音量的调节就先写这么多了,大家有什么新的发现可以留言告诉我。