Android手机通话录音实现详解手机开发

主要用到了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();  

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/3256.html

(1)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论