簡體   English   中英

找不到 Android Jetpack CameraX 方法 createSurfaceProvider()

[英]Android Jetpack CameraX method createSurfaceProvider() not found

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

請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不需要對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節 請原諒我,這篇文字不是對我引用的內容發誓:看起來你的帖子主要是代碼; 請添加更多細節

剛剛遵循了最新的教程並面臨同樣的問題。 但是,如果您只是調用預覽的屬性 SurfaceProvider,一切都會起作用。

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

只需更換

preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.getCameraInfo()));

preview.setSurfaceProvider(previewView.getSurfaceProvider());

將 gradle 依賴項更改為: implementation "androidx.camera:camera-camera2:1.0.0-rc01" 它應該可以工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM