对于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相关推荐

  1. Android常见开源项目的原理及使用方法

    Android常见开源项目的原理及使用方法 http://www.duobei.com/course/4514662053 [课程目标]  提升Android技术,提升软件设计技能,迈向架构师 [课程 ...

  2. 71.android 简单的电话录音并保存到本地(来电和去电都支持)

    //第一步 先加权限 在AndroidManifest.xml里: //有打电话的权限,读写权限,还有录音权限. <uses-permission android:name="andr ...

  3. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )

    文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...

  4. android 4.0 电话录音,ANDROID音频系统散记之四:4.0音频系统HAL初探

    昨天(2011-11-15)发布了Android4.0的源码,今天download下来,开始挺进4.0时代.简单看了一下,发现音频系统方面与2.3的有较多地方不同,下面逐一描述. 一.代码模块位置 1 ...

  5. 高德地图 Android API 的基站定位原理及使用方法

    基站定位是根据通讯网络基站信息进行定位的方法,此定位方法需要有较丰富的基站地理信息数据支持.高德地图目前的基站数据库支持 GSM 网络和CDMA网络. 定位机制 Android 平台主要使用三个 Cl ...

  6. android service 样例(电话录音和获取系统当前时间)

    关于android service 的具体解释请參考: android四大组件--android service具体解释.以下将用两个实例具体呈现Android Service的两种实现. 一个是st ...

  7. 关于android电话录音问题的详细分析

    关于android电话录音问题的详细分析 作者:老猫 一直以来都是在网络上看别人的文章,老老实实的做潜水员,今天一时兴起,写点东西,希望对大家有所帮助,不要再走同样的弯路. 本文是关于Android下 ...

  8. Android 来去电自动录音(一)

    本文是关于android来去电自动录音的一个实现方法介绍.来去电自动录音的关键在于如何×××电话状态的转变:         i.来电的状态的转换如下(红色标记是我们要用到的状态)         空 ...

  9. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )

    文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...

最新文章

  1. Python的re模块 --- 正则表达式操作
  2. 官宣:程序员被纳入新生代农民工!
  3. android游戏画面抖动,抖音游戏主播是怎么直播手机画面的?
  4. 游戏中常用的寻路算法(5)预先计算好的路径的所用空间
  5. for语句 2017-03-17
  6. ubuntu中遇到jupyter出现问题ValueError: signal only works in main thread ERROR:tornado.application:Except
  7. 千寻和省cors精度对比_测量员新手上路攻略:解析省CORS和千寻CORS账号区别及其如何选择运用...
  8. C#学习笔记(三):值类型、引用类型及参数传递
  9. 人工智能十种“新”数学
  10. js基础-10-url,src,href的理解
  11. 移远EC20 R2.0 AT指令拨号流程
  12. 大数运算(加减乘除,阶乘,取余)
  13. 助力不文明行为检测识别—基于yolov3-tiny实现抽烟检测
  14. 身份证号码编码规则及校验位校验算法
  15. 陆白_淘宝电商代运营
  16. iPhone 电池和性能
  17. 大家都可以学的制作个人网
  18. 人体体重秤体脂秤方案PCBA设计
  19. 时尚简约风格的ae字幕条模板
  20. Jenkins 流水线语法 02 片段生成器和声明式语法生成器

热门文章

  1. ASP.NET Core 单元测试:如何 Mock HttpContext.Features.Get()
  2. Redis 通过 RDB 方式进行数据备份与还原
  3. 在 C# 中生成代码的四种方式——包括.NET 5中的Source Generators
  4. .Net orm 开源项目 FreeSql 2.0.0
  5. ASP.NET Core 注册单例方案
  6. .NET Core 反射获取所有控制器及方法上特定标签
  7. 十问十答 BSD 许可证
  8. (译)创建.NET Core多租户应用程序-租户解析
  9. .NET Core 3.0 构建和部署
  10. ASP.NET Core中使用表达式树创建URL