Android Audio实战——音频多声道基础适配(七)

devtools/2024/11/28 22:45:14/

        通过《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 {

http://www.ppmy.cn/devtools/137769.html

相关文章

Android Audio实战——音频多声道混音适配(八)

上一篇文章我们修改了在 Android 11 中适配 7.1.4 声道的相关常量定义及部分代码,这里我们来看一下另外两个部分重要逻辑的修改及优化。 在音频处理过程中,经常需要将不同采样率的音频统一到相同的采样率,以便进行进一步处理。而在 AudioMixer 中,很可能会使用 AudioResamp…

Java图书管理系统(简易保姆级)

前面学习了这么多知识,为了巩固之前的知识,我们就要写一个图书管理系统来帮助大家复习,让大家的知识融会贯通~~~ 话不多说,直接开始今天的内容~ 首先呢,我们要有一个大体的思路: 实现效果思路有两种情况&a…

Vue 3 Teleport 教程

Vue 3 Teleport 教程 1. Teleport 是什么? Teleport 是 Vue 3 中引入的一个强大组件,它允许你将组件的一部分渲染到文档中的其他位置,而不受原始组件嵌套层级的限制。这个特性特别适合处理模态框、弹窗、通知等需要脱离普通文档流的场景。 …

视频推拉流EasyDSS互联网直播点播平台技术特点及应用场景剖析

在数字科技日新月异的今天,视频直播和点播已经成为互联网内容传播的重要方式之一。而互联网直播点播平台EasyDSS作为功能强大的流媒体直播点播视频能力平台,提供了一站式的视频推拉流、转码、直播、点播、时移回放、存储等视频服务,广泛应用于…

设计模式之破环单例模式和阻止破坏

目录 1. 序列化和反序列化2. 反射 这里单例模式就不多说了 23种设计模式之单例模式 1. 序列化和反序列化 这里用饿汉式来做例子 LazySingleton import java.io.Serializable;public class LazySingleton implements Serializable {private static LazySingleton lazySinglet…

使用 pycharm 新建不使用 python 虚拟环境( venv、conda )的工程

有时候我们发现一个好玩的 demo,想赶快在电脑上 pip install 一下跑起来,发现因为 python 的 venv、conda 环境还挺费劲的,因为随着时间的发展,之前记得很清楚的 venv、conda 的用法,不经常使用,半天跑不起…

2024下半年——【寒假】自学黑客计划(网络安全)

CSDN大礼包:👉基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 前言 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&a…

Vue 3 组件通信教程

Vue 3 组件通信教程 1. Props 父传子 1.1 基础用法 在 Vue 3 中&#xff0c;我们使用 defineProps 来声明组件的 props&#xff1a; <!-- 子组件 ChildComponent.vue --> <script setup> const props defineProps({message: String,count: {type: Number,requ…