미디어 레코더를 이용해서 동시 저장하는 방법이 궁금합니다.
예를 들면 미디어레코더를 두개 생성해서 각각 동시에 다른파일로 저장하는것이죠
단순히 미디어 레코더를 두개 생성해서 setPreviewDisplay에서 같은 서피스를 지정하면 에러가 나더군요.
그래서 아래 소스코드처럼 서피스뷰 두개 생성, 홀더 두개 생성 등등 많은 방법을 써보았지만 안되네요..
다른 방법이 없을까요?
private SurfaceView mPreview;
private SurfaceView mPreview1;
private SurfaceHolder mHolder;
private SurfaceHolder mHolder1;
mPreview = (SurfaceView) findViewById(R.id.SurfaceView_Camera_Preview);
mPreview1 = (SurfaceView) findViewById(R.id.SurfaceView_Camera_Preview1);
mPreview.setVisibility(View.VISIBLE);
mPreview1.setVisibility(View.GONE);
mHolder = mPreview.getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder1 = mPreview1.getHolder();
mHolder1.addCallback(this);
mHolder1.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder.setVideoFrameRate(3);
mRecorder.setVideoSize(320, 240);
mRecorder.setOutputFile(Path);
mRecorder.setPreviewDisplay(mHolder.getSurface());
mRecorder1.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder1.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder1.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder1.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
mRecorder1.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mRecorder1.setVideoFrameRate(3);
mRecorder1.setVideoSize(320, 240);
mRecorder1.setOutputFile(Path1);
mRecorder1.setPreviewDisplay(mHolder1.getSurface());