5

我正在尝试开发一个带有面部检测功能的简单相机应用程序,并且我正在使用来自这里的 android-vision 示例 https://github.com/googlesamples/android-vision/tree/master/visionSamples/FaceTracker

一切正常,我需要在其中添加放大/缩小功能。我搜索了 SO,但没有发现任何与视力有关的东西。每个答案都与 Camera2 有关。

4

2 回答 2

-1

你可以试试 startSmoothZoom:

https://developer.android.com/reference/android/hardware/Camera.html#startSmoothZoom(int)

您需要修改 CameraSource 的开源版本才能进行此更改,因为您需要访问其底层 android.hardware.Camera 实例:

https://github.com/googlesamples/android-vision/blob/master/visionSamples/barcode-reader/app/src/main/java/com/google/android/gms/samples/vision/barcodereader/ui/camera/ CameraSource.java#L121

于 2016-11-28T15:59:21.137 回答
-1

试试这段代码,它可以工作(是的,它是反射)

try {
    cameraSource.apply {
        start(holder)
        javaClass.getDeclaredField("zzg").apply {
            isAccessible = true
            (get(cameraSource) as Camera).apply {
                startSmoothZoom(min(5, parameters.maxZoom))
            }
        }
    }
} catch (e: Throwable) {
    Timber.e(e)
}

请注意,这zzg是一个经过混淆的Camera实例变量,它的名称可能因库版本而异

于 2019-10-11T11:09:16.040 回答