Android通话录音流程
Android手机现在基本上都有通话录音的功能。那么这个功能的原理是什么呢,
原理:语音通话包含uplink 和downlink数据,因此只要分别获取这两部数据,然后将PCM
格式的语音流转存成其他格式的文件即可,通过Modem To App的某种内存共享机制传输数据;
1. 通过Mic获取uplink data
//The framesize should be indicated by DSP, especially in call record
framesize = SAL_PcmEx_GetBufLen(SAL_PCMEX_BUF_SE);
/* handle uplink data from 1st mic */
dspAddr = SAL_PcmEx_GetBuf(SAL_PCMEX_BUF_SE);
IDMA_ReadFromDSP(buf, dspAddr, (uint32)framesize);
解释: SE负责对uplink data,进行Encrypt和Encode,即以3G,4G的协议编码
2. 获取DSP的downlink Data
// get downlink data
dlFrameSize = SAL_PcmEx_GetBufLen(SAL_PCMEX_BUF_SD);
dspAddr = SAL_PcmEx_GetBuf(SAL_PCMEX_BUF_SD);
IDMA_ReadFromDSP(/*dualMicOrDlTempBuf*/buf+framesize, dspAddr, (uint32)dlFrameSize);
解释: SD负责对网络下行数据进行Decode; 由于每次上下行的数据包都很小,所以在
数据简单的叠加,人耳并不会听出其中有什么延时,能同时听到双方的声音。
3. 发送数据to App
void spc_record_sendPcmData(void)
SpcIO_WriteDataToAp
spcIO_sendDataViaCCCI
4. Android 侧的发起端
audio/common/speech_driver/SpeechDriverNormal.cpp
SpeechDriverNormal::sendSpeechMessageToModem
sendMailbox(&sph_msg, MSG_A2M_RECORD_RAW_PCM_ON, param_16bit, 0);
5. MTK整了M2A之间的机制sendMailbox
sendMailbox
Android通话录音流程相关推荐
- 曝iPhone15或换用USB-C接口;Google将下架第三方Android通话录音APP|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- Android 通话录音代码流程
通话录音: 从界面开始找代码,最后转了几个函数名,并转到多媒体录音模块 start_ record voiceRecordClicked --- CallButtonFragment.java ...
- Android音频子系统(十)------MTK Audio录音流程代码解析
你好!这里是风筝的博客, 欢迎和我一起交流. Android framework中的代码每个平台基本都是大同小异,只有Hal上代码才是厂商特制,每个平台都不相同,这里以MTK平台为例,记录下MTK平台 ...
- Android设计缺陷--无法通话录音
这个问题在Google Code之Android上讨论 了快一年,还没解决.这成为不少人无法从Symbian系统转移到Android系统的主要原因. Android手机搭配有强大的硬件,具有很多实用和 ...
- android 解决通话录音时无法返回挂断状态的bug
据了解,安卓6.0开始不再支持通话录音,除非修改系统.系统放开权限.root,这也可以理解,毕竟这涉及到隐私问题,万一我一个亿的银行密码被人窃听了呢? 最近有个定制的系统有个需求--------通话录 ...
- android获取文件路径-(获取通话录音文件)
中秋宅在家,估计国庆也要宅在家了,一个人的时光其实很惬意 ...
- android 9 电话录音,Android9.0的最大不爽:不能通话录音!国内用户闹情绪
原标题:Android9.0的最大不爽:不能通话录音!国内用户闹情绪 前些天Android9.0正式版推送了,被命名为"安卓派",这些天不少手机厂商也在陆续行动,越来越多的机型可以 ...
- Android之录音--AudioRecord、MediaRecorder
Android提供了两个API用于实现录音功能:android.media.AudioRecord.android.media.MediaRecorder. 网上有很多谈论这两个类的资料.现在大致总结 ...
- Android 实时录音和回放,边录音边播放 (KTV回音效果)
原文地址为: Android 实时录音和回放,边录音边播放 (KTV回音效果) 上一篇介绍了如何使用Mediarecorder来录音,以及播放录音.不过并没有达到我的目的,一边录音一边播放.今天就讲解 ...
最新文章
- Python如何在以数字命名的文件前补0
- 如何独立开发一个网络请求框架
- 利用matlab对xml文件进行批量处理
- 游戏领域Serverless架构探索之路
- CNN发展历史【从LeNet到DenseNet】
- 如梦如幻,开源实时的天空特效算法!
- Springboot 启动时Bean初始化,启动异常-Assert.isTrue(condition,message) 报错
- linux汇编stdin,汇编:从标准输入中读取整数,将其递增并打印到标准输出
- JavaScript知识点总结 1
- C++前置声明的一个好处与用法
- 对三款软件的测评、分析和建议
- leetcode【中等】781、森林中的兔子
- 云开发:未来的软件开发方式
- 寒气笼罩中的一线暖冬
- csapp lab环境搭建及lab1wp
- java环境变量配置_Java环境变量配置终极版
- 走近棒球运动·科罗拉多落基队·MLB棒球创造营
- LPC1768 IAP写入bin格式程序不能启动的解决办法
- 淘宝产品ID在哪儿查询?
- fastAPI简单使用
热门文章
- 宗镜录略讲——南怀瑾老师——系列6
- 多版本node安装相关知识
- python打包成exe fail to ex_“failed to excute script xxx” PyInstaller 打包python程序为exe文件过程错误...
- odoo中分组查询函数read_group
- 读《不乖教师的正能量》摘抄
- 武汉大学计算机系王侃,武汉大学信息管理学院
- Daily Pathtracer!安利下不错的Pathtracer学习资料
- python制作礼物_opencv+python制作硬核七夕礼物
- 先人들의 白頭山 登程路
- vite+ts+elementplus运行正常打包报错