我正在制作一个使用相机手电筒的应用程序。
我用以下命令打开相机:
Camera cam = Camera.open();
当我启动我的应用程序时,如果另一个应用程序已经在使用摄像头,我会收到一个错误:
java.lang.RuntimeException: Fail to connect to camera service
首先,如果摄像头已经被其他应用程序打开,还有什么方法可以继续使用它吗?
如果不可能,我希望我的应用程序显示一条消息“相机已经在使用中”,而不是崩溃。
在这种情况下,如何检测摄像头是否已被其他应用打开?
我是JPA的新手,我想知道JPA是否有解决我问题的方法。Els我只需要创建一个ManyToMany关系。
我的应用程序包含道路和摄像头,道路的起点和终点都是摄像头。我通过在RoadSegment类中创建属性cameraPointA和cameraPointB来创建它。这创造了一种多对二的关系。我认为我可以将其定义为两个多对一的关系,但这似乎不可能。
CameraPoint.java
@Entity
public class CameraPoint implements Serializable {
@Id @GeneratedValue
private long id;
基于示例项目,我已经在我的应用程序中实现了视频呼叫的webrtc。除了切换摄像头之外,一切都很正常。
在视频呼叫中,默认摄像头是前置摄像头。如果我第一次切换摄像头正面-->背面-->正面,它可以工作。
但是如果我再次从前到后切换摄像头,我在Camera2Enumerator中得到了以下异常
java.lang.NullPointerException: Attempt to get length of null array
at org.webrtc.Camera2Enumerator.convertSizes(Camera2Enumerator.java:234)
我试着在覆盆子android上测试usb摄像头预览。
首先,我的覆盆子皮是arm处理器。
和usb摄像头没有问题的设备。
在我检查出现NullPointerException之后,尝试null检查
Log.d(TAG,"Camera is connected?"+camera);
结果是Camera is connected?null
因此,我认为raspberry pi似乎无法检测到。
MainActivity.class
public class MainActivity extends Activity implements SurfaceHolder.Callback
我正在使用的一部分来读取二维码。偶尔(大约500个用户中有2个)我会收到一份Firebase崩溃报告,这发生在Camera.open。
java.lang.RuntimeException:
at android.hardware.Camera.<init>(Camera.java:678)
at android.hardware.Camera.open(Camera.java:520)
at mobilevision.CameraSource.createCamera(CameraSource.java:0)
at <OR>.access$2200(Camer