在相机之间切换不在android中工作

时间:2014-10-10 13:58:33

标签: android camera android-mediarecorder front-camera

我的视频录制应用程序录制视频,它正在从后置摄像头工作,现在我想使用前置摄像头录制视频。因此用户可以在相机之间切换。用户可以选择他想要录制视频的摄像机。 最初当我的活动加载后摄像头打开并且预览开始时,但是当我点击切换摄像头按钮时,它会给出异常 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); 给出例外。 如何使用这两款相机。

编辑:

当我在活动开始时打开前置摄像头时它工作正常。因此,只有在初始选择相机时,我才可以打开相机和记录。但是当我在相机之间切换时,它会导致异常无法连接到相机服务。

0 个答案:

没有答案