gpt4 book ai didi

android - takePicture 需要 CameraX (1.0.0-alpha06) 上的执行器

转载 作者:行者123 更新时间:2023-12-04 14:21:58 25 4
gpt4 key购买 nike

从更新后

androidx.camera:camera-core:1.0.0-alpha03


androidx.camera:camera-core:1.0.0-alpha06

方法 setTargetAspectRatio(在 ImageCaptureConfig.Builder 中)和 takePicture(在 ImageCapture 中)的签名已更改。

Web 中的官方文档和信息没有显示如何使用新方法(如何指定执行程序)。

更新后损坏的代码:
...
val captureConfig = ImageCaptureConfig.Builder()
.setTargetAspectRatioCustom(Rational(1, 1)) //this method changed
.setFlashMode(flashMode)
.setLensFacing(lensFacing)
.build()

val capture = ImageCapture(captureConfig)

binding.takeAPhoto.setOnClickListener {
...
val imageFile = createTempFile(System.currentTimeMillis().toString(), ".jpg")
capture.takePicture(imageFile, object : ImageCapture.OnImageSavedListener { //this method also changed

override fun onImageSaved(file: File) {
...
}

override fun onError(useCaseError: ImageCapture.UseCaseError, message: String, cause: Throwable?) {
...
})
}
}

有没有人有(或知道在哪里可以找到)如何使用新方法的示例?
提前致谢

最佳答案

最近显然已经更新的官方 Google Codelabs 使用:Executors.newSingleThreadExecutor()
引用:https://codelabs.developers.google.com/codelabs/camerax-getting-started/#4

编辑:由于@kos的回复对我来说也很有意义,我添加了这两个官方 Android 文档引用:

https://developer.android.com/reference/java/util/concurrent/Executors.html#newSingleThreadExecutor()

https://developer.android.com/reference/java/util/concurrent/Executors.html#newCachedThreadPool()

这样,本主题的每个读者都可以就执行者做出自己的决定。

进一步编辑:自 1.0.0-alpha07 以来,API 发生了重要变化,因此我研究了一些文档。有一个 GitHub 示例显示执行器检索,如下所示 mainExecutor = ContextCompat.getMainExecutor(requireContext()) (Source)

如果你们中的一些人已经实现了 CameraX 并且运行良好,我肯定会等待 Android 的 release notes 推荐的 beta 版本。

关于android - takePicture 需要 CameraX (1.0.0-alpha06) 上的执行器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58373986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com