首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.IllegalArgumentException:建议的分辨率图缺少相机1的分辨率

java.lang.IllegalArgumentException:建议的分辨率图缺少相机1的分辨率
EN

Stack Overflow用户
提问于 2019-05-16 02:02:41
回答 5查看 1.9K关注 0票数 10

使用CameraX.LensFacing.FRONT在模拟器上进行测试时会发生此错误。

代码语言:javascript
复制
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: meter.meter, PID: 15289
    java.lang.RuntimeException: Unable to start activity ComponentInfo{meter.meter/meter.meter.CameraActivity}: java.lang.IllegalArgumentException: Suggested resolution map missing resolution for camera 1
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.IllegalArgumentException: Suggested resolution map missing resolution for camera 1
        at androidx.camera.core.Preview.onSuggestedResolutionUpdated(Preview.java:310)
        at androidx.camera.core.UseCase.updateSuggestedResolution(UseCase.java:375)
        at androidx.camera.core.CameraX.calculateSuggestedResolutions(CameraX.java:458)
        at androidx.camera.core.CameraX.bindToLifecycle(CameraX.java:144)
        at meter.meter.CameraActivity.onCreate(CameraActivity.java:68)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)

代码:

代码语言:javascript
复制
PreviewConfig config = new PreviewConfig.Builder().setLensFacing(CameraX.LensFacing.FRONT).build();

    Preview preview = new Preview(config);

    TextureView textureView = findViewById(R.id.textureView);


    preview.setOnPreviewOutputUpdateListener(new Preview.OnPreviewOutputUpdateListener() {

                     @Override
                     public void onUpdated(Preview.PreviewOutput output) {
                            textureView.setSurfaceTexture(output.getSurfaceTexture());
                        }
                    });

                    ImageCaptureConfig imageCaptureConfig = new ImageCaptureConfig.Builder().build();

                    imageCapture = new ImageCapture(imageCaptureConfig);
                    CameraX.bindToLifecycle((LifecycleOwner) this,imageCapture, preview);
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-05-16 07:35:58

setLensFacing(CameraX.LensFacing.FRONT)添加到ImageCaptureConfig可以解决您的问题

票数 13
EN

Stack Overflow用户

发布于 2019-07-07 20:54:51

作为nestos答案的一个补充,我必须将setLensFacing(CameraX.LensFacing.FRONT)添加到ImageCaptureConfig和PreviewConfig中才能完成这项工作。

票数 10
EN

Stack Overflow用户

发布于 2019-09-20 11:57:21

您应该为传递给setLensFacing(..)的每个UseCase控件调用CameraX.bindToLifecycle((LifecycleOwner) this, imageCapture, preview)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56159804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档