最近在做语音IVR的时候需要对通话进行录音,主要用到了MediaRecorder类,实现代码如下:

MediaRecorder mRecorder = new MediaRecorder();mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"ivr_record");if(!dir.exists()){dir.mkdirs();}mFileName = new File(dir,"ivr_"+System.currentTimeMillis()+".3gp").getAbsolutePath();Log.i(TAG, "start recording:"+mFileName);mRecorder.setOutputFile(mFileName);mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);try {mRecorder.prepare();} catch (IOException e) {Log.e(TAG, "prepare() failed");}mRecorder.start();

这种方式只能录自己的语音,对方的语音录不到,如果想录对方的语音,只需要将audio source设置成 MediaRecorder.AudioSource.VOICE_CALL就可以了,代码如下:

MediaRecorder mRecorder = new MediaRecorder();mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"ivr_record");if(!dir.exists()){dir.mkdirs();}mFileName = new File(dir,"ivr_"+System.currentTimeMillis()+".3gp").getAbsolutePath();Log.i(TAG, "start recording:"+mFileName);mRecorder.setOutputFile(mFileName);mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);try {mRecorder.prepare();} catch (IOException e) {Log.e(TAG, "prepare() failed");}mRecorder.start();

Android手机通话录音实现相关推荐

  1. 手机通话录音删除了怎么恢复

    手机是我们日常生活中必不可少的工具.我们常常使用手机进行通话,因此手机通话录音功能也变得越来越重要.但是有时,由于诸如误操作.系统故障或其他问题,手机中的通话录音可能会被误删.那么,如果发生这种情况, ...

  2. android 解决通话录音时无法返回挂断状态的bug

    据了解,安卓6.0开始不再支持通话录音,除非修改系统.系统放开权限.root,这也可以理解,毕竟这涉及到隐私问题,万一我一个亿的银行密码被人窃听了呢? 最近有个定制的系统有个需求--------通话录 ...

  3. 关于部分手机通话录音报start failed的问题

    开发通话录音功能的时候,刚开始一切都很顺利,直到快发版的时候,发现了个问题,在华为的P8和Mate7上报错了,苦逼的程序员只能加班改bug,百度上看了一天,这个问题还挺常见的,一些人建议修改输出格式和 ...

  4. 如何恢复录音删除的录音文件_手机通话录音后!点击这个按钮,就能将录音文件一键转为文字...

    通话录音是很多朋友都会用的功能,比如接听重要电话,或者和领导电话会议都会用到这个功能. 但是将录音中的内容整理出来就比较麻烦了,不仅要一遍遍听,还要一边手写记录,其实点击这个按钮,就能将录音中的内容一 ...

  5. android获取文件路径-(获取通话录音文件)

    中秋宅在家,估计国庆也要宅在家了,一个人的时光其实很惬意                                                                        ...

  6. 刚刚才知道,华为手机的通话录音还能这样玩?没人知道就太浪费了

    刚刚才知道,华为手机的通话录音还能这样玩?没人知道就太浪费了 除了iPhone手机以外,我们日常见到的Android系统的手机几乎都能够进行通话录音.这个功能主要用于帮助我们记录通话中的重要事项,方便 ...

  7. android 电话录音保存到什么位置,手机的录音文件在哪个文件夹?不同的安卓手机存放的路径你都知道吗?...

    想必大家都有过在手机上进行录音的需求,记录一些比较重要的通话内容或信息,在完成录音后,你知道手机的录音文件存放在哪个文件夹了吗?下面小编将给大家介绍不同的安卓手机存放通话录音文件的路径,帮你轻松找到所 ...

  8. 嘿嘿这个好玩---新型Android手机病毒现身 可对通话过程录音

    据美国科技杂志<网络世界>(Network World)网络版报道,一种针对谷歌Android智能手机的新型病毒已经现身,它能在用户毫不知情状态下对通话过程进行录音.安全专家指出,此类病毒 ...

  9. Android通话录音流程

    Android手机现在基本上都有通话录音的功能.那么这个功能的原理是什么呢, 原理:语音通话包含uplink 和downlink数据,因此只要分别获取这两部数据,然后将PCM 格式的语音流转存成其他格 ...

最新文章

  1. 将bios还原为默认设置时无法启动windows
  2. 和rgb画面质量谁好_双11内存RGB灯条如何选?低于400元,只聊酷兽和阿斯加特
  3. Tungsten Fabric SDN — Service Chain — Heat Templates
  4. php new httprequest,php安装HTTP_Request2及引用介绍(通过HTTP_Request创建微软人脸识别的群组 为例)...
  5. SharpDevelop插件系统创建过程全面分析
  6. MIPS介绍与MIPS汇编的常用指令
  7. android调试神器Stetho
  8. mysql spj_解决Electron启动出现短暂的白屏 - SegmentFault 思否
  9. cfree运行程序错误的原因_ARM Cortex-M 系列 MCU错误代码自动追踪库的使用经验分享
  10. Python怎么去写单元测试用例去测试hello world呢
  11. Selenium3元素定位详解与封装
  12. Kali、linux中安装软件
  13. 估计值与平均值的离差平方和_各变量值与其算术平均数的离差平方之和为()
  14. js:为窗口盒子添加拖拽事件
  15. SpringCloud(三 Eureka集群配置)
  16. SQL实战39.针对上面的salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005,
  17. 神经网络中的sigmoid函数
  18. Redis 互联网开发必看
  19. wireshark分析oracle报错,Linux下抓包工具tcpdump以及分析包的工具wireshark
  20. 求知若饥,虚心若愚----不错的演讲,与大家共勉

热门文章

  1. 编程语言的发展趋势:从没有分号,到DSL
  2. 程序设计题:小学 100 以内正整数加减运算
  3. 快速提取网页中的文字
  4. c语言debug小窗口怎么移动,大家指点下VS中调试的监视、内存窗口的技巧
  5. 电路快速替换工艺、搜索、对比schematic
  6. python正则表达式 简单的手机号码格式的验证
  7. 滑动窗口8:75. 颜色分类-经典荷兰国旗问题
  8. 【浙江名度控股】为什么总说外包公司做不出好app?
  9. Android 手机震动功能的实现
  10. 探岳android auto,不懂颗粒捕捉器的清洗?探岳车主发现清洗新大陆!