android自定义录制视频切换到前置摄像头及所遇问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qugengting/article/details/86613328

使用MediaRecorder + SurfaceView录制视频,切换为前置摄像头:

        try {
            Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
            int numberOfCameras = Camera.getNumberOfCameras();
            for (int i = 0; i < numberOfCameras; i++) {
                Camera.getCameraInfo(i, cameraInfo);
                if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
                    mCamera = Camera.open(i);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

部分手机开始录像会闪退,原因是前置摄像头不能设置聚焦模式:

Camera.Parameters params = mCamera.getParameters();
params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);

取消这一设置就好了

又遇到一个问题,拍出来的视频倒立或者转90°,解决如下:

        //设置选择角度,顺时针方向,因为默认是逆向90度的,这样图像就是正常显示了,这里设置的是观看保    
        //存后的视频的角度
        //前置摄像头的话,这里要再加上180°
        mediaRecorder.setOrientationHint(90 + 180);

猜你喜欢

转载自blog.csdn.net/qugengting/article/details/86613328