Камера наблюдения isFocusing || ! isFocusing для androidx.camera.core.Camera - PullRequest
2 голосов
/ 05 мая 2020

Есть ли какая-нибудь документация, которая поможет мне направить меня в нужном направлении? Я только ОЧЕНЬ недавно реализовал AndroidX, так как использовал старую платформу Camera.

Я нашел только один вывод, и это был тупик. Думаю, я хотел бы получать уведомления, когда камера фокусируется и / или когда она сфокусирована.

Изменить: это мой блок кода, в котором я настраиваю и настраиваю свою камеру:

        Size screen = new Size(txView.getWidth(), txView.getHeight()); //size of the screen

    Preview preview = new Preview.Builder()
            // We request aspect ratio but no resolution
            .setTargetResolution(screen)
            // Set initial target rotation
            .setTargetRotation(getWindowManager().getDefaultDisplay().getRotation())
            .build();

    ImageCapture imageCapture = new ImageCapture.Builder()
            .setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
            // We request aspect ratio but no resolution to match preview config, but letting
            // CameraX optimize for whatever specific resolution best fits our use cases
            .setTargetResolution(screen)
            // Set initial target rotation, we will have to call this again if rotation changes
            // during the lifecycle of this use case
            .setTargetRotation(getWindowManager().getDefaultDisplay().getRotation())
            .build();

    ImageAnalysis imageAnalyzer = new ImageAnalysis.Builder()
            .setTargetResolution(screen)
            .setTargetRotation(getWindowManager().getDefaultDisplay().getRotation())
            .build();

    CameraSelector cameraSelector =
            new CameraSelector.Builder()
                    .requireLensFacing(CameraSelector.LENS_FACING_BACK)
                    .build();
    int count = 0;

    cameraProviderFuture.addListener(new Runnable() {
        @Override
        public void run() {
            try {
                ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
                cameraProvider.unbindAll();

                androidx.camera.core.Camera camera = cameraProvider.bindToLifecycle(
                        MainActivity.this,
                        cameraSelector,
                        preview,
                        imageAnalyzer,
                        imageCapture
                );

                preview.setSurfaceProvider(txView.createSurfaceProvider(camera.getCameraInfo()));
                onCreateTime = System.currentTimeMillis()/1000;

            } catch (Exception e) {
            }
        }
    }, ContextCompat.getMainExecutor(this));

Всем спасибо!

...