Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android zxing未检测到条形码。可能的宽度/高度问题?_Android_Kotlin_Zxing - Fatal编程技术网

Android zxing未检测到条形码。可能的宽度/高度问题?

Android zxing未检测到条形码。可能的宽度/高度问题?,android,kotlin,zxing,Android,Kotlin,Zxing,我无法让我的zxing QR扫描仪检测QR码。我已经在模拟器和华为P20上测试了以下内容 我假设我的二维码是正常的,因为我已经在手机上安装了zxing条形码扫描仪应用程序,它可以很好地检测到 我有我的相机预览运行良好,回调被称为罚款。只是检测似乎没有检测到任何东西。我尝试过使用布局框架大小和预览大小,您可以在代码注释中看到它们的值。我不知道我是不是把宽度/高度弄错了 从我的活动中 override fun onPreviewFrame(data: ByteArray, camera: Camer

我无法让我的zxing QR扫描仪检测QR码。我已经在模拟器和华为P20上测试了以下内容

我假设我的二维码是正常的,因为我已经在手机上安装了zxing条形码扫描仪应用程序,它可以很好地检测到

我有我的相机预览运行良好,回调被称为罚款。只是检测似乎没有检测到任何东西。我尝试过使用布局框架大小和预览大小,您可以在代码注释中看到它们的值。我不知道我是不是把宽度/高度弄错了

从我的活动中

override fun onPreviewFrame(data: ByteArray, camera: Camera) {

    val length = data.size // 1382400
    val previewFormat = camera.parameters.previewFormat // 17 or 0x11 = NV21

    try {
// Tried this initially
//            val size = camera.parameters.previewSize
//            val width = size.width // 320
//            val height = size.height // 240

        val previewFrame : FrameLayout = findViewById(R.id.camera_preview)
        val width = previewFrame.width // 1100
        val height = previewFrame.height // 825

        val source = PlanarYUVLuminanceSource(data, width, height, 0, 0, width, height, false)
        val bitmap = BinaryBitmap(HybridBinarizer(source))
        val result = mQrReader.decodeWithState(bitmap)

// Never gets here

        qrList.add(result)
        adapter?.notifyDataSetChanged()
    } catch (nfe: NotFoundException) {
            // continue
    } catch (e: Exception) {
        Toast.makeText(this, "Error: ${e.message}", Toast.LENGTH_SHORT).show()
    } finally {
        mQrReader.reset()
        camera.setOneShotPreviewCallback(this)
    }
}
从我的布局

    <FrameLayout
            android:id="@+id/camera_preview"
            android:layout_width="400dp"
            android:layout_height="300dp" />
在另一篇文章中,肖恩·欧文提到不改变格式。不管怎样,我很快就把它试了一下

            mCamera!!.parameters.previewFormat = YUV_420_888
但当打开相机时,会抛出
无效像素_格式=35
异常

            mCamera!!.parameters.previewFormat = YUV_420_888