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

[ 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.dtcms.com/a/360073.html

相关文章:

  • 手写call函数【JavaScript】
  • Java多线程基础:进程、线程与线程安全实战
  • 《信息学奥林匹克辞典》中的一个谬误
  • 【Android】Notification 的基本使用
  • C++ 快速复习指南(上半部分)
  • 房屋租赁系统|基于SpringBoot和Vue的房屋租赁系统(源码+数据库+文档)
  • 8.31【Q】CXL-DMSim:
  • 数学分析原理答案——第七章 习题12
  • 设置Ubuntu 22.04 LTS上的rsync同步服务
  • Hysplit大气传输和污染扩散-轨迹聚合标准20%30%用途
  • 国内大型银行数据模型实践案例
  • PerfectSquares.java
  • 解决COB支架偏移载具分析问题根源
  • 编译器领域 名人堂
  • 单表查询-group by rollup优化
  • ibping基本使用 以及 包丢失 超时 排障
  • 【GPT入门】第62课 情感对话场景模型选型、训练与评测方法,整体架构设计
  • Redis核心原理与Java应用实践
  • 基于Seurat的空转单样本数据分析流程学习(一)
  • 性能优化三剑客:`memo`, `useCallback`, `useMemo` 详解
  • 7.1elementplus的表单
  • PyQt5 K线图实现与性能优化详解
  • 我的创作纪念日|一周年,上海-昆明-上海
  • QoS 基本原理与配置
  • 学生请假就餐系统
  • AI 赋能 Java 开发效率:全流程痛点解决与实践案例(二)
  • 使用cursor claude sonnet4的一些感受
  • 【系统分析师】高分论文:论原型法及其在系统开发中的应用
  • Langflow 框架中 Prompt 技术底层实现分析
  • LangChain中Prompt处理机制的技术架构与核心思想分析