android MediaRecorder录音详解

简单使用例子:

try {        
           MediaRecorder recorder = new MediaRecorder();
//                    recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
//                    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
//                    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);//通话中,对方、自己声音都会录下来
//                    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_DOWNLINK);//只录取扬声器、听筒声音
//                    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_UPLINK);
           recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);//跟MIC一样,只录取麦克风声音,但扬声器太大声的话也会录到
           recorder.setOutputFile(path);

           // 设置录制的声音的输出格式(必须在设置声音编码格式之前设置)
           recorder.setOutputFormat(MediaRecorder
                   .OutputFormat.AMR_NB);
           // 设置声音编码的格式
            recorder.setAudioEncoder(MediaRecorder
                   .AudioEncoder.AMR_NB);
            recorder.prepare();
            recorder.start();
      } catch (IOException e) {
      e.printStackTrace();
 }

其中setAudioSource方法可选参数为,参考网址:MediaRecorder.AudioSource

android MediaRecorder录音详解_第1张图片


录音完成后,使用


recorder.stop();
recorder.release();
recorder = null;

另外还能用AudioRecord在录音的同时对音频处理,参考AudioRecord录音与AudioTrack播放





你可能感兴趣的:(android)