如何在 Android 视觉 CameraSource 中添加放大/缩小手势
Posted
技术标签:
【中文标题】如何在 Android 视觉 CameraSource 中添加放大/缩小手势【英文标题】:How can I add zoom in/out gesture in Android vision CameraSource 【发布时间】:2017-04-08 14:38:33 【问题描述】:我正在尝试开发一个带有面部检测功能的简单相机应用程序,并且我正在使用此处的 android-vision 示例 https://github.com/googlesamples/android-vision/tree/master/visionSamples/FaceTracker
一切正常,我需要在其中添加放大/缩小功能。我搜索了 SO,但没有发现任何与视力有关的东西。每个答案都与Camera2有关。
【问题讨论】:
这个问题解决了吗? 【参考方案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
【讨论】:
【参考方案2】:试试这段代码,它可以工作(是的,它是反射)
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
实例的混淆变量,并且每个库版本的名称可能不同
【讨论】:
我的回答是正确的,我不知道为什么它被否决了以上是关于如何在 Android 视觉 CameraSource 中添加放大/缩小手势的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用我在Android工作室或视觉工作室为ios编写的扑动代码吗?以及如何使用?
关于AI视觉-如何连接使用智能语音开发套件(USB语音开发套件)