Android手机通话录音实现

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
主要用到了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();  

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Java字符串常用操作方法及代码

下一篇:js 倒计时功能