Android Audio开发——音量调节底层(十三)

        上一篇我们分析了 AudioService 中音量调节相关代码,这一篇文章我们接着往下分析。其中 AudioService 最后向下调用了 setStreamVolumeIndex 函数。

1、AudioService

源码位置:/frameworks/base/services/core/java/com/android/server/audio/AudioService.java

setStreamVolumeIndex

        传递的参数是:device(输出设备)和 index(音量等级)。

private void setStreamVolumeIndex(int index, int device) {
    // 只有设置音频策略BT SCO流音量为0时,流实际上是静音。
    // 这允许RX路径静音音频HAL只有当显式静音,而不是当
    // index只是设置为0,以尊重BT的要求
    if (mStreamType == AudioSystem.STREAM_BLUETOOTH_SCO && index == 0 && !isFullyMuted()) {
         index = 1;
    }
    AudioSystem.setStreamVolumeIndexAS(mStreamType, index, device);
}

2、AudioSystem

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

/** 从AudioService调用的本机方法的包装器 */
public static int setStr

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