Как увеличить с помощью gms.vision.CameraSource - PullRequest
0 голосов
/ 29 марта 2020

Я использую CameraSource для декодирования штрих-кода для моего мобильного приложения, все работает отлично, но я хотел бы увеличить видео с моей камеры. Я читал документацию CameraSource, но я не могу найти ничего о масштабировании. Мне интересно, если кто-нибудь знает, как применить масштабирование с помощью google play api CameraSource, если это невозможно, я обойдусь без него.

Вот мой код активности:

        cameraView = findViewById(R.id.surfaceView)

        val detector = BarcodeDetector.Builder(applicationContext)
            .setBarcodeFormats(Barcode.EAN_13 or Barcode.EAN_8 or Barcode.UPC_A or Barcode.UPC_E)
            .build()

        cameraSource = CameraSource.Builder(this, detector)
            .setAutoFocusEnabled(true)
            .build()

        cameraView.holder.addCallback(object : SurfaceHolder.Callback {
            override fun surfaceCreated(holder: SurfaceHolder) {
                try {
                    cameraSource.start(surfaceView.holder)
                } catch (ie: Exception) {
                    Log.e("CAMERA SOURCE", ie.message)
                }
            }

            override fun surfaceChanged(
                holder: SurfaceHolder,
                format: Int,
                width: Int,
                height: Int
            ) {
            }

            override fun surfaceDestroyed(holder: SurfaceHolder) {
                cameraSource.stop()
            }
        })

        detector.setProcessor(object : Detector.Processor<Barcode> {
            override fun release() {}
            override fun receiveDetections(detections: Detections<Barcode>) {
                val barcodes = detections.detectedItems
                if (barcodes.size() != 0) {
                    detector.release()
                    val resultIntent = Intent(this@BarcodeActivity, AddFoodActivity::class.java)
                    resultIntent.putExtra("EXTRA_BARCODE", barcodes.valueAt(0).rawValue)
                    startActivity(resultIntent)
                    finish()
                }
            }
        })
...