public static void initRecord() { recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOnErrorListener(new OnErrorListener() { @Override public void onError(MediaRecorder mr, int what, int extra) { // TODO Auto-generated method stub recorder = null; initRecord(); } }); }
protected void startRecording() { try { mediaRecorder.reset(); // camera.setDisplayOrientation(90); camera.lock(); camera.unlock(); mediaRecorder.setCamera(camera); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); // mediaRecorder.setVideoFrameRate(15); // mediaRecorder.setOrientationHint(270); mediaRecorder.setOutputFile(file.getAbsolutePath()); mediaRecorder.setPreviewDisplay(sv.getHolder().getSurface()); mediaRecorder.setOnErrorListener(new OnErrorListener() { @Override public void onError(MediaRecorder mr, int what, int extra) { System.out.println(what + "-------------------"); System.out.println(extra + "------------------"); // stopRecording(); } }); mediaRecorder.prepare(); mediaRecorder.start(); } catch (Exception e) { e.printStackTrace(); } }