当前位置: 首页 > 知识库问答 >
问题:

Android Studio CameraX预览版

袁安志
2023-03-14

我正在学习一个关于如何构建cameraX定制相机的教程,我被卡住了。

在本教程中,他使用了以下内容:

        PreviewConfig previewConfig = new PreviewConfig.Builder().setTargetAspectRatioCustom(aspectRatio).build();
        Preview preview = new Preview(previewConfig)
        preview.setOnPreviewOutputUpdateListener() { 
            ...
        }

我发现此方法已更改,现在您不需要PreviewConfig,只需这样做即可:

        Preview preview = new Preview.Builder().setTargetAspectRatioCustom(aspectRatio).build();

但是用于预览的setOnPreviewOutUpdateListener()方法不再存在(无法解析符号“setOnPreviewOutUpdateListener”)。我该怎么办?

非常感谢。

共有1个答案

艾翼
2023-03-14

我想这会对你有帮助。。

            // preview user case
            Preview preview = new Preview.Builder()
                    .build();

            preview.setSurfaceProvider(cameraActivityBinding.viewFinder.getSurfaceProvider());

            // camera selector use case
            cameraSelector = new CameraSelector.Builder()
                    .requireLensFacing(lensFacingBack)
                    .build();

            ImageAnalysis imageAnalysis = new ImageAnalysis.Builder()
                    .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
                    .build();

            // imagecapture user case
            ImageCapture.Builder builder = new ImageCapture.Builder();
            imageCapture = builder
                    .setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
                    .setTargetRotation(activity.getWindowManager().getDefaultDisplay().getRotation())
                    .setTargetAspectRatio(AspectRatio.RATIO_4_3)
                    .build();

            // video capture use case
            videoCapture = new VideoCapture.Builder()
                    .setTargetRotation(activity.getWindowManager().getDefaultDisplay().getRotation())
                    .setCameraSelector(cameraSelector)
                    .setVideoFrameRate(30)
                    .setTargetAspectRatio(AspectRatio.RATIO_4_3)
                    .build();


            preview.setSurfaceProvider(cameraActivityBinding.viewFinder.getSurfaceProvider());
            camera = cameraProvider.bindToLifecycle((LifecycleOwner) this, cameraSelector, preview, imageCapture,videoCapture);

需要更多详细信息,请参阅此处

 类似资料:
  • preview 用于实现表单预览,类似于微信支付账单之类的。表单预览分为 head(weui-form-preview__hd),body(weui-form-preview__bd)和 foot(weui-form-preview__ft)这三大部分,因此实现这一功能加上weui.css的一些类即可,示例代码如下: <template> <div class="page"> <div

  • SQL 预览 选项卡显示数据库或模式对象的 CREATE 语句及必要的 SQL 语句。 对于一些数据库或模式对象,你可以使用下面的下拉列表来显示当按下 保存 或 另存为 按钮时运行的 SQL。

  • 预览 在编辑器工具栏上选择 浏览器 后,点击旁边的按钮,会在用户的默认桌面浏览器中直接运行游戏的网页版本。推荐使用谷歌浏览器(Chrome)作为开发过程中预览调试用的浏览器,因为谷歌浏览器(Chrome)的开发者工具是最为全面强大的。 浏览器预览界面的最上边有一系列控制按钮可以对预览效果进行控制: 最左边选择预览窗口的比例大小,来模拟在不同移动设备上的显示效果 Rotate 按钮决定显示横屏还是竖

  • 简要概述依赖管理 几乎所有基于JVM的项目都会或多或少依赖其他库,假设你在开发一个基于web的项目,你很可能会依赖很受欢迎的开源框架比如Spring MVC来提高效率。Java的第三方库一般以JAR文件的形式存在,一般用库名加版本号来标识。随着开发的进行依赖的第三方库增多小的项目变的越来越大,组织和管理你的JAR文件就很关键。 不算完美的依赖管理技术 由于Java语言并没提供依赖管理的工具,所以你

  • 预览 选项卡包含所呈现的报表。预览表单可以使你控制及查看报表输出。一个页节点的大纲显示在表单的左边,在页面查看器旁边。使用 打印 按钮来传送报表输出到打印机或到一个输出文件,例如 PDF。 要创建一个 搜索报表,在 查询设计器 启用 自动搜索 选项。 然后,你可以点击 搜索数据 图标来输入搜索准则。