如何在Android camera2 API中同时配置前后两个摄像头?

时间:2019-02-04 02:12:34

标签: android android-camera2

我想将前置和后置两个摄像头配置为Android camera2 API,以便同时从两个摄像头拍摄照片和视频,我创建了2个纹理视图,每次打开一个摄像头(前后)时,我的代码都可以正常工作很好,但是每当我尝试同时打开两个摄像机时,代码在创建会话时就中断了,我得到了暗中的cameraAccessException:configure stream:方法。 我想将前后摄像头捕获的图像都保存为一个图像,将两个视频都保存为一个视频。 伙计们,如果您可以放置​​一些示例代码或示例链接,将会非常有帮助。

我使用的是plus 6,我最近下载了一个应用程序“双摄像头从后置摄像头”,通过使用该程序,我可以同时从前后两个摄像头捕获图像,因此如果有人想提出建议没有硬件支持,我认为这可能对其他手机有效,但就我而言,我认为我在编码中缺少一些东西,直到现在从Google搜索中看来,第二个摄像头的会话创建存在问题,我调试了代码,在创建第二个相机会话期间,该操作失败,因此,如果您对此有任何想法,请分享。

谢谢 拉克什

 i am using one plus 6,

1 个答案:

答案 0 :(得分:3)

相机API很好用,但大多数Android设备没有足够的硬件资源来一次运行两个相机,因此尝试打开第二个相机通常会出错。

两个图像传感器通常都连接到同一图像信号处理器(ISP),并且该ISP一次只能操作一台摄像机。某些高端设备的ISP具有多个处理管道,理论上一次可以运行多个摄像机,但是它们通常需要使用多个管道来处理高级功能或主(后置)照相机的高分辨率。 因此,在这些设备上,一次可以使用多个摄像机,但不能以最大分辨率或其他类似限制使用。

某些制造商在自己的相机应用程序中包含多相机功能,因为他们确切地知道了限制,并可以编写应用程序代码以在其中使用。由于担心性能,散热限制,或者只是缺乏时间来验证比其在自己的应用中实现的确切用例还要多的时间,因此他们可能无法将多台摄像机提供给普通应用。

Android相机API当前尚无法查询是否可以一次使用多个相机,或者可以使用多个限制。因此,您唯一可以做的就是尝试,并在不可行的情况下处理错误。