java - 未找到 Android Jetpack CameraX 方法 createSurfaceProvider()

标签 java android camera

在 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()));
            
                            ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
    }

最佳答案

刚刚关注了最新的tutorial并面临同样的问题。
但是,如果您只是调用预览的属性 surfaceProvider,一切都会正常工作。

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

关于java - 未找到 Android Jetpack CameraX 方法 createSurfaceProvider(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64229274/

相关文章:

java - 如何从 Android (Java) 中的通用数组列表中删除项目

Android Button Click Event 在实现带有搜索过滤器的 recyclerview 时被多次触发?

opencv - 如何使两张相机照片看起来相似(亮度、白平衡……)

iOS:从前置摄像头捕获图像

c++ - 从 QThread 使用 QCamera/QCameraInfo

java - 为什么 spring boot 会生成扩展名为 .original 的 jar 或 war 文件?

c# - 如何在 C# 中执行类似 "Class<? extends MyClass >"的操作

java - DNA序列的计算

java - 这是什么意思 "couldn' t read CGI input from STDIN after alloc read 0 "

android - 导入后我的外部 JAR 文件库未显示在 'External Libraries' 中