从后置摄像头切换到前置摄像头进行视频录制不起作用
Switching from back camera to front camera for video recording is not working
后置摄像头工作正常,但是,当我们从后置摄像头切换到前置摄像头时,它崩溃了(在使用 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) {
throw new RuntimeException("camera already initialized");
}
Camera.CameraInfo info = new Camera.CameraInfo();
// Try to find a front-facing camera (e.g. for videoconferencing).
int numCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numCameras; i++) {
Camera.getCameraInfo(i, info);
//this will be front or back depending on the requirement
if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
camera= Camera.open(i);
break;
}
}
尝试添加这部分代码
有时设备会进入 onPause 状态,我只是在 activity 的 onResume 方法中重新初始化所有内容并且它有效..!