小编top*_*217的帖子

MLKit BarCode Sanner 实现在执行 ML Kit 任务时导致内部错误

每次调用 scanr.process(image) 都会导致 onFailure 调用,并出现以下错误:

错误:com.google.mlkit.common.MlKitException:执行机器学习套件任务时发生内部错误

关于为什么任务失败的任何进一步细节或想法?用条形码显示它似乎也不会改变这种行为。

使用 Pixel 3a 时会显示此错误,但会导致 Nexus 5 完全崩溃并出现 SIGENV 错误。在阅读概述时,我一直在从片段构建我的代码

入口点活动

package jp.oist.cameraxapp;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.Camera;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.lifecycle.LifecycleOwner;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.media.Image;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.mlkit.vision.barcode.Barcode;
import …
Run Code Online (Sandbox Code Playgroud)

java android android-camerax google-mlkit

2
推荐指数
1
解决办法
993
查看次数

Illegal ArgumentException:Nexus 6 的 CameraProcessProvider.bindToLifecycle 中的“找不到可用的相机”

问题:

我收到以下错误:

java.lang.IllegalArgumentException: 找不到可用的相机。

当调用和实例方法 ProcessCameraProvider.bindToLifecycle() 时。通过搜索“------ Code Crashes Here --------------”在下面的代码上下文中看到这一点。

题:

如何防止此错误和随后的应用程序崩溃?更具体地说,我如何确保 CameraSelector 可以返回 Nexus 6 的相机实例?

假设

此调用中使用的 CameraSelector 似乎有问题。如果我在 bindToLifecycle 行上设置一个断点,并调试到该点并为`cameraProvider.hasCamera(cameraSelector) 添加一个监视,它将返回 false。也许这不会在调用 bindToLifecycle 方法之前返回 true。如果是这样,我如何验证 cameraSelector 对象已成功创建(成功意味着它指向实际的相机对象)?

在创建 cameraSelector 对象时,我在构建器中使用了requireLensFacing方法,所以看起来 Nexus 6 硬件没有用这些 LENS_FACING_BACK 或 LENS_FACING_FRONT 标记任何东西,因此不返回任何相机实例?我理解正确吗?

我应该注意,当在 Nexus 5 上运行完全相同的代码时不会发生此错误,这就是为什么我倾向于认为这是一个硬件问题。

我也试过 LENS_FACING_FRONT int,但有同样的错误。如果我完全删除 requireLensFacing 构建组件,则会收到不同的错误:

java.util.NoSuchElementException

代码

package jp.oist.cameraxapp;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.Camera;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
import androidx.core.content.ContextCompat; …
Run Code Online (Sandbox Code Playgroud)

java android nexus6 android-camerax

1
推荐指数
1
解决办法
1309
查看次数

标签 统计

android ×2

android-camerax ×2

java ×2

google-mlkit ×1

nexus6 ×1