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