Android Settings 声音设置

AudioManager

进行声音设置之前,我们必须先了解AudioManager这个类。这个类封装了大部分的声音操作。

在Android中,一般通过如下代码获取AudioManager的实例:

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

在介绍如何使用AudioManager调节音量之前,我们需要先知道,在Android中,音量是分类型调节的,可以调节的音量类型(streamType)如下:

  • STREAM_ALARM:闹钟音量。
  • STREAM_MUSIC:媒体音量(声音、视频、游戏)
  • STREAM_RING:铃声(来电、短信、通知、拍照、截屏等)
  • STREAM_SYSTEM:系统(锁屏、按键)
  • STREAM_VOICE_CALL:通话音量

知道了音量类型之后,我们还需要知道每种类型的最大音量值和当前系统设置的音量值。获取方式如下(以获取铃声音量为例):

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
// GET stream_ring
int maxStreamRing = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
int curStreamRing = audioManager.getStreamVolume(AudioManager.STREAM_RING);

知道了音量类型和该音量类型的最大音量后,我们就可以去调节音量了。使用的函数原型如下:

setStreamVolume(int streamType, int index, int flags)

其中:streamType指的是音量类型,index指的是音量大小,而flags是标志位,默认传0即可。

你可能感兴趣的:(android)