【发布时间】:2015-04-13 06:12:38
【问题描述】:
后置摄像头工作正常,但是当我们从后置摄像头切换到前置摄像头时,它会崩溃(在使用 MediaRecorder 进行视频录制的情况下)....它显示错误,我在日志中显示!
这是我的代码:
private void start_work()
{
if(recording)
{
Log.v("LOGTAG", "Recording Stopped");
}
else
{
recording = true;
progress_relative_lay.setVisibility(View.VISIBLE);
button_capture.setVisibility(View.GONE);
//show_icon();
recorder.start();
Log.v("LOGTAG", "Recording Started");
}
}
为了初始化我使用
recorder = new MediaRecorder();
recorder.setOrientationHint(result) ;
recorder.setPreviewDisplay(holder.getSurface());
if(usecamera)
{
camera.unlock();
recorder.setCamera(camera);
}
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setProfile(camcorderProfile);
【问题讨论】:
-
切换前需要先释放相机
-
我在切换前释放相机,我使用 if(camera != null) { camera.stopPreview(); // 停止预览 camera.release(); // 切换前释放前一个相机 }..
-
从上面的代码中我只能看到 if(previewRunning) { camera.stopPreview(); }
-
我还添加了 camera.release(); ..我使用了另一种切换相机的方法...我添加了 camera.release();
-
那么你应该用前置摄像头属性创建新的摄像头实例
标签: android android-camera video-recording front-camera