我的视频录制应用程序录制视频,它正在从后置摄像头工作,现在我想使用前置摄像头录制视频。因此用户可以在相机之间切换。用户可以选择他想要录制视频的摄像机。 最初当我的活动加载后摄像头打开并且预览开始时,但是当我点击切换摄像头按钮时,它会给出异常 java.lang.RuntimeException:无法连接到摄像头服务。 下面是我切换相机的代码:
private void initRecorder(Surface surface) throws IOException {
try{
if (mCamera != null) {
mCamera.lock();
mCamera.unlock();
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera = null;
mHolder.addCallback(null);
mHolder = null;
}
mHolder = mSurfaceView.getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
if(cameraToOpen==1){
mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_BACK);
} else if(cameraToOpen==2){
mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);
}
mCamera.lock();
mCamera.setDisplayOrientation(90);
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
mCamera.unlock();
}catch(Exception e){
}
}
当用户点击切换相机按钮然后mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);
给出例外。
如何使用这两款相机。
编辑:
当我在活动开始时打开前置摄像头时它工作正常。因此,只有在初始选择相机时,我才可以打开相机和记录。但是当我在相机之间切换时,它会导致异常无法连接到相机服务。