OpenBot icon indicating copy to clipboard operation
OpenBot copied to clipboard

video recording support in logging

Open dhruv2295 opened this issue 3 years ago • 2 comments

dhruv2295 avatar Sep 16 '21 11:09 dhruv2295

Please fix the style.

thias15 avatar Sep 20 '21 07:09 thias15

Hi! I've fixed the issue related to the front-facing camera not opening in the fragment, which was causing video capturing to fail. Additionally, after shifting to a different fragment, the camera displays a blank screen.

Navigate to the CameraFragment.java file and replace the bindCameraUseCases function with the following code:

     protected void bindCameraUseCases() {
        converter = new YuvToRgbConverter(requireContext());
        bitmapBuffer = null;
        preview = new Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build();
        final boolean rotated = ImageUtils.getScreenOrientation(requireActivity()) % 180 == 90;
        final PreviewView.ScaleType scaleType =
                rotated ? PreviewView.ScaleType.FIT_CENTER : PreviewView.ScaleType.FIT_START;
        previewView.setScaleType(scaleType);
        preview.setSurfaceProvider(previewView.getSurfaceProvider());
        CameraSelector cameraSelector =
                new CameraSelector.Builder().requireLensFacing(lensFacing).build();
        ImageAnalysis imageAnalysis;
        if (analyserResolution == null)
            imageAnalysis =
                    new ImageAnalysis.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build();
        else
            imageAnalysis = new ImageAnalysis.Builder().setTargetResolution(analyserResolution).build();

        imageAnalysis.setAnalyzer(
                cameraExecutor,
                image -> {
                    if (bitmapBuffer == null)
                        bitmapBuffer =
                                Bitmap.createBitmap(image.getWidth(), image.getHeight(), Bitmap.Config.ARGB_8888);

                    rotationDegrees = image.getImageInfo().getRotationDegrees();
                    converter.yuvToRgb(image.getImage(), bitmapBuffer);
                    image.close();

                    processFrame(bitmapBuffer, image);
                });
        try {
            if (cameraProvider != null) {
                cameraProvider.unbindAll();
                cameraProvider.bindToLifecycle(this, cameraSelector, preview, imageAnalysis);
            }
        } catch (Exception e) {
            Timber.e("Use case binding failed: %s", e.toString());
        }
        try {
            if (cameraProvider != null) {
                cameraProvider.unbindAll();
                cameraProvider.bindToLifecycle(this, cameraSelector, preview, videoCapture);
            }
        } catch (Exception e) {
            Timber.e("VideoCapture binding failed: %s", e.toString());
        }
    }

hardikgarg02 avatar Dec 28 '23 12:12 hardikgarg02