【发布时间】:2021-08-30 13:29:09
【问题描述】:
我在向我的 TabLayout 添加选项卡时尝试检查给定扩展是否可用,但这里似乎存在一些严重问题(或者我可能不知道某些事情)。
extensionsManager.isExtensionAvailable((CameraProvider)cameraProvider, cameraSelector, ExtensionMode.NIGHT);
如果 ProcessCameraProvider 是 CameraProvider 的子类型,则此代码将有效,但根据 Android Studio 似乎并非如此。
此外,如果ProcessCameraProvider 不是CameraProvider 的子类型,此处的代码 sn-p 将不起作用。 (https://developer.android.com/training/camerax/vendor-extensions#enable-effect-capture)
我是不知道某事还是我引用了错误的实例...有人可以帮我解决这个问题吗?
这是我正在使用的所有 camerax 扩展及其版本号。
【问题讨论】:
-
为什么要将
ProcessCameraProvider转换为CameraProvider?没有必要这样做。据我所知,使用ProcessCameraProvider对象而不将其转换为CameraProvider就可以了。 -
不是真的,目前(在检查的库代码中)
ProcessCameraProvider没有实现CameraProvider接口。铸造只是为了显示该错误。没有它,Android Studio 只会说需要CameraProvider的实例。 -
这是我获得
ProcessCameraProvider的实例:val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get(),然后在检查扩展可用性时我只是使用这个对象,它工作得很好,没有错误。 -
这很奇怪......也许这只是库的 Java 端的问题
-
试试this link。我建议您联系开发人员 - 在链接中发送电子邮件,并询问他们,他们会很快回复。
标签: android android-camera android-camerax