Android之关于电话录音原理,目前的方法还是只能录MIC
对于android来讲,没有API直接支持对电话进行双向录音。
虽然MediaRecorder里面可以设置recodeRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);来表示要对双向进行录音,但是这个功能实际是不可使用的,唯一能直接使用的还是VOICE_MIC。也就是对MIC进行录音。现在很多的所谓录音软件应该都是用的MIC进行录音的。无论是用MediaRecorder这个类还是用的比较高级写的AudioRecord这个类。
可以参考下面这个文档对录音使用MediaRecorder设计的源代码的分析。貌似按照这里面所讲貌似这几个参数传进来直接就不支持了,需要有音频硬件的支持。
http://wenku.baidu.com/view/71d3e008844769eae009ed00 .html
目前看到的比较流行的一个CallRecord软件的说明,如果要双向录音的话,需要有硬件驱动的支持,对于某些型号的手机,这个可以通过打补丁的方式进行支持,对于其他没法打补丁的机型的话,就只能通过MIC读来支持了。
http://forum.xda-developers.com/showthread.php?t=1441643
综合上面来看,目前来讲比较通用的方法还是只能用MIC来进行双向的录音了。使用了一个使用AudioRecord进行录音的软件,不开免提的话通话录音效果还可以,对方声音还可以忍受。不过这个还是有一些噪声可以听出来。目前只能先用这个方法凑活着用了。
可以参考这个,这个程序主要功能还是把录音转成MP3,需要用外部库
http://garage.uraroji.com/2011/03/03/android上でのmp3エンコードのサンプル/
另外关于录音还有一点需要注意,在注册了电话录音状态的监听函数以后,不要在这个listen函数里面直接录音,这样的话会导致问题,系统会卡在CALL_STATE_OFFHOOK这个状态。这中lisen需要尽快的返回,可以在这里面起一个service,然service实现录音的功能,然后在idle的时候把这个service停掉,或者里面对应的录音停掉。起一个新的thread貌似也是可以的。
Android之关于电话录音原理,目前的方法还是只能录MIC相关推荐
- Android常见开源项目的原理及使用方法
Android常见开源项目的原理及使用方法 http://www.duobei.com/course/4514662053 [课程目标] 提升Android技术,提升软件设计技能,迈向架构师 [课程 ...
- 71.android 简单的电话录音并保存到本地(来电和去电都支持)
//第一步 先加权限 在AndroidManifest.xml里: //有打电话的权限,读写权限,还有录音权限. <uses-permission android:name="andr ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...
- android 4.0 电话录音,ANDROID音频系统散记之四:4.0音频系统HAL初探
昨天(2011-11-15)发布了Android4.0的源码,今天download下来,开始挺进4.0时代.简单看了一下,发现音频系统方面与2.3的有较多地方不同,下面逐一描述. 一.代码模块位置 1 ...
- 高德地图 Android API 的基站定位原理及使用方法
基站定位是根据通讯网络基站信息进行定位的方法,此定位方法需要有较丰富的基站地理信息数据支持.高德地图目前的基站数据库支持 GSM 网络和CDMA网络. 定位机制 Android 平台主要使用三个 Cl ...
- android service 样例(电话录音和获取系统当前时间)
关于android service 的具体解释请參考: android四大组件--android service具体解释.以下将用两个实例具体呈现Android Service的两种实现. 一个是st ...
- 关于android电话录音问题的详细分析
关于android电话录音问题的详细分析 作者:老猫 一直以来都是在网络上看别人的文章,老老实实的做潜水员,今天一时兴起,写点东西,希望对大家有所帮助,不要再走同样的弯路. 本文是关于Android下 ...
- Android 来去电自动录音(一)
本文是关于android来去电自动录音的一个实现方法介绍.来去电自动录音的关键在于如何×××电话状态的转变: i.来电的状态的转换如下(红色标记是我们要用到的状态) 空 ...
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )
文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...
最新文章
- Python的re模块 --- 正则表达式操作
- 官宣:程序员被纳入新生代农民工!
- android游戏画面抖动,抖音游戏主播是怎么直播手机画面的?
- 游戏中常用的寻路算法(5)预先计算好的路径的所用空间
- for语句 2017-03-17
- ubuntu中遇到jupyter出现问题ValueError: signal only works in main thread ERROR:tornado.application:Except
- 千寻和省cors精度对比_测量员新手上路攻略:解析省CORS和千寻CORS账号区别及其如何选择运用...
- C#学习笔记(三):值类型、引用类型及参数传递
- 人工智能十种“新”数学
- js基础-10-url,src,href的理解
- 移远EC20 R2.0 AT指令拨号流程
- 大数运算(加减乘除,阶乘,取余)
- 助力不文明行为检测识别—基于yolov3-tiny实现抽烟检测
- 身份证号码编码规则及校验位校验算法
- 陆白_淘宝电商代运营
- iPhone 电池和性能
- 大家都可以学的制作个人网
- 人体体重秤体脂秤方案PCBA设计
- 时尚简约风格的ae字幕条模板
- Jenkins 流水线语法 02 片段生成器和声明式语法生成器
热门文章
- ASP.NET Core 单元测试:如何 Mock HttpContext.Features.Get()
- Redis 通过 RDB 方式进行数据备份与还原
- 在 C# 中生成代码的四种方式——包括.NET 5中的Source Generators
- .Net orm 开源项目 FreeSql 2.0.0
- ASP.NET Core 注册单例方案
- .NET Core 反射获取所有控制器及方法上特定标签
- 十问十答 BSD 许可证
- (译)创建.NET Core多租户应用程序-租户解析
- .NET Core 3.0 构建和部署
- ASP.NET Core中使用表达式树创建URL