当前位置: 首页 > ds >正文

[ Android Audio 篇 ] 高通平台 Android AudioRecord 多通道录音

这里写自定义目录标题

  • 1. 概述
  • 2. 系统配置
    • 2.1 audio_policy_configuration.xml
  • 3. 系统录音接口
  • 4. 高通平台多通道遇到的问题
    • 4.1 APK录音4ch发现其中两通道空数据
    • 4.2 APK录音 Source 设置为 AudioSource.MIC 录音失败, CAMCORDER 录音正常
  • 5. 参考

1. 概述

最近项目节奏很快,平时遇到很多的问题都没有及时总结分享出来。这周末解决了高通平台多通道录音过程中遇到的问题,分享记录下。

2. 系统配置

2.1 audio_policy_configuration.xml

配置文件中channelMasks字段增加 ch AUDIO_CHANNEL_INDEX_MASK_3 和 AUDIO_CHANNEL_INDEX_MASK_4 配置, 这个定义在 /system/media/audio/include/system/audio-base.h
在这里插入图片描述

<mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2"><profile name="" format="AUDIO_FORMAT_PCM_16_BIT"samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK  AUDIO_CHANNEL_INDEX_MASK_3  AUDIO_CHANNEL_INDEX_MASK_4"/>
</mixPort>

3. 系统录音接口

APK 录音调用的 AudioRecord的接口, 构造 AudioRecord 的方式有两种:

  • new AudioRecord();
  • AudioRecord.Builder();
   // 核心是 setChannelIndexMask的设置以及 buffer size 的设置int SAMPLE_RATE = 48000
http://www.xdnf.cn/news/19537.html

相关文章:

  • LangChain中Prompt处理机制的技术架构与核心思想分析
  • STL库——stack/queue(类函数学习)
  • 切片语法[::-1]及其可用的类型
  • 基于STM32设计的智能家居控制系统(华为云IOT)_275
  • 2023年IEEE IOTJ SCI1区TOP,动态环境下无人机目标覆盖任务路径规划,深度解析+性能实测
  • KingbaseES JDBC 驱动详解:连接、配置与最佳实践
  • 介绍Ansible和实施Ansible PlayBook
  • pinia状态管理工具
  • Redis核心原理与Java应用实践
  • 洞悉边界:软件测试中边界值分析的艺术与科学
  • OpenJDK 17 解释器分发表与安全点表机制解析
  • 零基础入门AutoSar中的ARXML文件
  • 【Flask】测试平台开发,产品管理功能UI重构-第九篇
  • Kubernetes 服务发现与健康检查详解
  • 搭建卷积神经网络
  • 软考 系统架构设计师系列知识点之杂项集萃(139)
  • C++11语言(三)
  • Nginx实现P2P视频通话
  • codecombat(Ubuntu环境详细docker部署教程)
  • 项目-云备份
  • 面试 八股文 经典题目 - HTTPS部分(一)
  • Flink NettyBufferPool
  • 大模型时代:用Redis构建百亿级向量数据库方
  • EtherCAT主站IGH-- 41 -- IGH之sdo_request.h/c文件解析
  • Library cache lock常见案例分析(一)
  • Encoder编码器
  • 图像描述编辑器 (Image Caption Editor)
  • 极客时间AI 全栈开发实战营毕业总结(2025年8月31日)
  • 【Linux基础】深入理解计算机存储:GPT分区表详解
  • 前端组件拆分与管理实战:如何避免 props 地狱,写出高可维护的项目