我正在开发一个Android应用程序,我需要捕获两张图片,一张是前置摄像头,另一张是后置摄像头。
我为此目的使用的代码如下所示,当我只使用前置或后置摄像头拍摄一张照片时,此代码工作正常,但当我拍摄两张照片(一张接一张)时,我得到{{1} } java.lang.RuntimeException: Fail to connect to camera service
来电。
我一直在寻找这个问题的解决方案,因为两天但未能解决它。在第一张照片被捕后,我仔细检查了camera = Camera.open(camIdx);
release()
,以便让相机免费拍摄第二张照片,但没有任何效果。
我正在使用具有Android KitKat版本(API级别19)的物理设备进行测试。
请告诉我代码中的问题是什么?或者有没有其他方法来完成我的工作?
代码:
camera
答案 0 :(得分:0)
您的问题可能是在没有释放第一台相机的情况下尝试打开第二台相机。您在循环中调用Camera.open
,而不先释放。正确的流程是打开你想要的相机,拍照,确保相机被释放,然后打开另一个相机。