标签: android-camerax

CameraX - 当活动锁定在纵向模式时仅旋转预览

  1. 设置->手机固定在支架上,无法旋转。摄像头正对着笔记本

  2. MyCameraActivity -> 固定方向 -> 肖像

  3. 用户应该能够通过单击按钮来旋转预览,即我的预览应该旋转(例如,如果我在开头看到向上箭头,那么单击用户应该能够旋转右侧箭头)

我能够在camera2中执行此操作,但找不到有关cameraX的任何有用信息。

android android-camera2 android-camerax

2
推荐指数
1
解决办法
1193
查看次数

如何在 Camera X 库中以编程方式更改相机镜头朝向?

目前我正在使用这个gradle

implementation "androidx.camera:camera-camera2:1.0.0-beta11"
implementation "androidx.camera:camera-lifecycle:1.0.0-beta11"
implementation "androidx.camera:camera-view:1.0.0-alpha18"
Run Code Online (Sandbox Code Playgroud)

所以我想在用户点击按钮后以编程方式更改相机镜头的朝向。这是我尝试使用的代码

class CameraFragment : Fragment() {

    private var cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA

    lateinit var mContext: Context
    lateinit var mActivity: FragmentActivity

    override fun onAttach(context: Context) {
        super.onAttach(context)

        mContext = context
        activity?.let { mActivity = it }

    }

    private fun toggleFrontBackCamera() {


        if (cameraSelector == CameraSelector.DEFAULT_BACK_CAMERA) {
            cameraSelector = CameraSelector.DEFAULT_FRONT_CAMERA
        } else if (cameraSelector == CameraSelector.DEFAULT_FRONT_CAMERA) {
            cameraSelector == CameraSelector.DEFAULT_BACK_CAMERA
        }

        startCamera()


    }

    private fun startCamera() {
        val cameraProviderFuture = ProcessCameraProvider.getInstance(mContext)

        cameraProviderFuture.addListener(Runnable {
            // Used to …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack android-camerax

2
推荐指数
1
解决办法
1996
查看次数

如何在 PreviewView 准备好时获取 CameraX 事件

我正在尝试通过动画实现效果,但只有在预览视图处于活动状态后才能实现。原因之一也是为了避免相机绑定后出现闪烁。

我已经设法使用反射 (androidx.camera.core.UseCase) 来做到这一点,但在某些设备上 onUseCaseActive 以奇怪的顺序被多次调用。它首先处于 ACTIVE 状态,然后切换到 INACTIVE,并被多次调用,最后进入 ACTIVE 状态。

所以我的实际问题是:有什么方法可以获取 CameraX 回调,以便我可以根据相机的状态以不同的方式管理我的状态?

android android-camera android-camerax

2
推荐指数
1
解决办法
2080
查看次数

配置CameraX(闪光模式、自动白平衡模式、动作模式等)

我已经成功实现了 CameraX,但是,我仍停留在配置其设置上。我想设置自动白平衡、降噪、闪光和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上发现的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多信息。是否可以在 CameraX 上设置这些模式,或者到目前为止仅支持 Camera2?

android android-camera2 android-camerax

2
推荐指数
1
解决办法
2481
查看次数

无法解析“PreviewView”中的方法“setPreferredImplementationMode”

我是 Andriod 的初学者,现在遇到了问题。

此处此处描述了如何使用 CameraX 和 ZXing 创建 QR 码扫描仪。我正在尝试制作一个示例项目。

但我的代码有错误

private PreviewView previewView;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
    previewView = findViewById(R.id.activity_main_previewView);
...
}
...
private void bindCameraPreview(@NonNull ProcessCameraProvider cameraProvider) {
    previewView.setPreferredImplementationMode(PreviewView.ImplementationMode.SURFACE_VIEW);
...
}
Run Code Online (Sandbox Code Playgroud)

错误是“无法解析‘PreviewView’中的方法‘setPreferredImplementationMode’”。“PreviewView.ImplementationMode”中也没有“SURFACE_VIEW”。

请帮我解决这个问题。

Android Studio 4.1.2,Android 9 的项目。

java android qr-code android-camerax

2
推荐指数
1
解决办法
1616
查看次数

无法访问类“com.google.common.util.concurrent.ListenableFuture”。检查模块类路径是否缺少或冲突的依赖项

我正在尝试集成CameraX到我的 flutter 应用程序中,但我收到错误消息Cannot access class 'com.google.common.util.concurrent.ListenableFuture'. Check your module classpath for missing or conflicting dependencies

在此输入图像描述

错误来自下面一行

val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
Run Code Online (Sandbox Code Playgroud)

下面是我的原生视图

class CealScanQrView(val context: Context, id: Int, creationParams: Map<String?, Any?>?) :
    PlatformView {

    private var mCameraProvider: ProcessCameraProvider? = null
    private var preview: PreviewView
    private var linearLayout: LinearLayout = LinearLayout(context)


    private lateinit var cameraExecutor: ExecutorService
    private lateinit var options: BarcodeScannerOptions
    private lateinit var scanner: BarcodeScanner

    private var analysisUseCase: ImageAnalysis = ImageAnalysis.Builder()
        .build()

    companion object {
        private val REQUIRED_PERMISSIONS …
Run Code Online (Sandbox Code Playgroud)

android dart kotlin flutter android-camerax

2
推荐指数
1
解决办法
370
查看次数

如何在 CameraX 中使用 Camera2Config.Extender

没有找到设置的任何例子Camera2ConfigCamera2Config.ExtenderCameraX

您能否提供一个将这些对象设置为CameraX的示例,以便例如获取回调方法调用。

基本上我想以androidx.camera.camera2.impl.Camera.State的格式获取相机的状态。

android android-camerax

1
推荐指数
1
解决办法
791
查看次数

如何在 Android CameraX (1.0.0-alpha07) 上实例化 CameraControl

当使用camerax_version =“1.0.0-alpha06”时,我可以使用以下命令实例化相机控制器:

CameraControl cameraControl = CameraX.getCameraControl(CameraX.LensFacing.BACK);
Run Code Online (Sandbox Code Playgroud)

但当camerax_version =“1.0.0-alpha07”时,该功能CameraX.getCameraControl不再被识别。

如何实例化 CameraControl ?

android android-camerax

1
推荐指数
1
解决办法
3203
查看次数

Illegal ArgumentException:Nexus 6 的 CameraProcessProvider.bindToLifecycle 中的“找不到可用的相机”

问题:

我收到以下错误:

java.lang.IllegalArgumentException: 找不到可用的相机。

当调用和实例方法 ProcessCameraProvider.bindToLifecycle() 时。通过搜索“------ Code Crashes Here --------------”在下面的代码上下文中看到这一点。

题:

如何防止此错误和随后的应用程序崩溃?更具体地说,我如何确保 CameraSelector 可以返回 Nexus 6 的相机实例?

假设

此调用中使用的 CameraSelector 似乎有问题。如果我在 bindToLifecycle 行上设置一个断点,并调试到该点并为`cameraProvider.hasCamera(cameraSelector) 添加一个监视,它将返回 false。也许这不会在调用 bindToLifecycle 方法之前返回 true。如果是这样,我如何验证 cameraSelector 对象已成功创建(成功意味着它指向实际的相机对象)?

在创建 cameraSelector 对象时,我在构建器中使用了requireLensFacing方法,所以看起来 Nexus 6 硬件没有用这些 LENS_FACING_BACK 或 LENS_FACING_FRONT 标记任何东西,因此不返回任何相机实例?我理解正确吗?

我应该注意,当在 Nexus 5 上运行完全相同的代码时不会发生此错误,这就是为什么我倾向于认为这是一个硬件问题。

我也试过 LENS_FACING_FRONT int,但有同样的错误。如果我完全删除 requireLensFacing 构建组件,则会收到不同的错误:

java.util.NoSuchElementException

代码

package jp.oist.cameraxapp;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.Camera;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
import androidx.core.content.ContextCompat; …
Run Code Online (Sandbox Code Playgroud)

java android nexus6 android-camerax

1
推荐指数
1
解决办法
1309
查看次数

如何通过 CameraX 中的 Mediastore 保存到 Media 文件夹?

我还是 android 编程的新手。我正在尝试使用 CameraX API 拍照。但是,Google Codelabs的示例代码仅将照片保存在符合Android 的 Scoped Storage的应用程序私有目录中。我对 Mediastore 还不了解,所以请您带我查看有关如何将 Mediastore 集成到 CameraX 的文档吗?

android mediastore android-camerax

1
推荐指数
1
解决办法
372
查看次数