通过《Android Audio基础——音频输出声道设置》这篇文章,我们了解了 Android 11 中通道掩码校验的时候最好只校验到 7.1 声道(8声道),而在通道常量参数中有定义了 7.1.2 声道(10 声道)和 7.1.4声道(12 声道)。如果这里我们 Android 11 的项目想要使用 7.1.4 声道就需要重新进行适配。
一、基础信息适配
这里我们先来看一下针对支持最大声道数的常量定义,以及需要修改最大值常量的代码。
1、audio-base.h
源码位置:/system/media/audio/include/system/audio-base.h
enum {FCC_2 = 2,FCC_8 = 8,
};
这里是 Android 11 的源码,对于最大支持的通道数通常直接使用 FCC_8 判断,这里我们参考 Android 12 源码进行修改如下:
enum {