【问题标题】:Camera X - Accessing both Front and Back Cameras simultaneously using Camera X APICamera X - 使用 Camera X API 同时访问前置和后置摄像头
【发布时间】:2021-02-18 13:38:54
【问题描述】:

尝试使用 Android X API 同时预览两个摄像头(正面和背面) -

 Camera camera = cameraProvider.bindToLifecycle((LifecycleOwner)this, cameraSelector, preview); //Back-Camera
 Camera camera2 = cameraProvider.bindToLifecycle((LifecycleOwner)this, cameraSelector2, preview2); //Front-Camera

使用上面的代码-sn-p,只有前置摄像头出现。如果我更改上面的顺序,后置摄像头会按预期显示。

尝试获取相机功能的实例 (cameraProvider = ProcessCameraProvider.getInstance(this)) 两次,但是通过为每个提供商映射一台相机,我发现了奇怪的观察结果。在主页按下并再次启动应用程序时,会显示任一预览(背面或正面),但未找到任何模式。

任何人都可以对此多加关注吗?是否与目标设备有关,即设备不兼容?我使用的目标设备是 OnePlus 5。

【问题讨论】:

    标签: android-camera android-camerax


    【解决方案1】:

    CameraX 不支持一次打开超过 1 个摄像头,这就是为什么当您尝试通过调用 ProcessCameraProvider.bindToLifecycle() 两次来打开 2 个摄像头时,只会打开第二个摄像头。

    ProcessCameraProvider 提供对设备上的摄像头的访问,顾名思义,它具有进程/应用程序的范围,即它是一个单例,一旦它被初始化,你将获得与每个结果相同的实例致电ProcessCameraProvider.getInstance()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 2012-07-10
      • 2012-05-27
      • 1970-01-01
      相关资源
      最近更新 更多