找不到 Android Jetpack CameraX 方法 createSurfaceProvider()

Ali*_*nov 15 java camera android

我在 android 文档中的教程中使用 CameraX 时遇到了一个问题,找不到方法 createSurfaceProvider()

我正在使用这些库: camerax_version = "1.0.0-beta10"

代码

@Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        previewView = view.findViewById(R.id.previewView);

        ListenableFuture<ProcessCameraProvider> cameraProviderFuture =
                ProcessCameraProvider.getInstance(requireContext());

        cameraProviderFuture.addListener(() -> {
            try {
                ProcessCameraProvider cameraProvider = cameraProviderFuture.get();
                bindPreview(cameraProvider);

            } catch (InterruptedException | ExecutionException e) {

            }
        }, ContextCompat.getMainExecutor(requireContext()));
    }

    private void bindPreview(ProcessCameraProvider cameraProvider) {
        Preview preview = new Preview.Builder().build();

        imageCapture = new ImageCapture.Builder()
                .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
                .build();

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

        Camera camera = cameraProvider.bindToLifecycle(
                ((LifecycleOwner) this),
                cameraSelector,
                preview,
                imageCapture);

        preview.setSurfaceProvider(
                previewView.createSurfaceProvider(camera.getCameraInfo()));
            
                            ?????????????????????
    }
Run Code Online (Sandbox Code Playgroud)

请原谅我,这篇文字不需要对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节。请原谅我,这篇文字不需要对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节。请原谅我,这篇文字不需要对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节。请原谅我,这篇文字不需要对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节。请原谅我,这篇文字不需要对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多详细信息. 请原谅我,这篇文字不是对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节。请原谅我,这篇文字不是对我引用的内容发誓:看起来你的帖子主要是代码;请添加更多细节

小智 33

刚刚遵循了最新的教程并面临同样的问题。但是,如果您只是调用预览的属性 SurfaceProvider,一切都会起作用。

val preview = Preview.Builder() .build() .also { it.setSurfaceProvider(viewFinder.surfaceProvider) }


Ali*_*ali 8

只需更换

preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.getCameraInfo()));
Run Code Online (Sandbox Code Playgroud)

preview.setSurfaceProvider(previewView.getSurfaceProvider());
Run Code Online (Sandbox Code Playgroud)