Android Audio实战——音量调节(十二)

         对于音量调节上一篇文章已经做了简单介绍,无论是软件调节还是硬件调节,最终实现都是调用到 AudioService。这一篇文章主要分析一下音量调节的相关代码。

 一、APP调用

1、音量调节接口

        App在设置音量时,通常使用 AudioManager 的以下两个接口:

1、setStreamVolume(int streamType, int index, int flags)

index:音量等级,通常在 0~31 这个设置范围,音量可以突变设置,如上次音量为 1,下次设置音量为 5。

2、adjustStreamVolume(int streamType, int direction, int flags)

direction:音量调整方向 ADJUST_LOWER,ADJUST_RAISE,ADJUST_SAME,类似于每次只加/减 1,匀速调整。

2、音频流类型

        音量设置是针对音频流类型来设置的,而 streamType 是系统规定(在AudioSystem中)的音频流类型,如下:

源码位置:/frameworks/base/media/java/android/media/AudioSystem.java

// 用于标识默认音频流音量
public static final int STREAM_DEFAULT = -1;
// 用于识别电话呼叫的音频流的音量
public static final int STREAM_VOICE_CALL = 0;
// 用于识别系统声音的音频流的音量
public 

你可能感兴趣的:(Android,Audio开发,android,Audio开发)