在android上使用两个摄像头:“无法连接到摄像头服务”
我在同时访问两个摄像头(前后摄像头)时遇到问题。 当打开一台摄像机时,它可以工作。 当我第一次关闭并打开第二次它的作品。 它给出了以下例外,当我试图打开第二个相机,而第一个仍然显示图像。在android上使用两个摄像头:“无法连接到摄像头服务”
E/AndroidRuntime(32325): FATAL EXCEPTION: main
E/AndroidRuntime(32325): java.lang.RuntimeException: Fail to connect to camera service
E/AndroidRuntime(32325): at android.hardware.Camera.native_setup(Native Method)
E/AndroidRuntime(32325): at android.hardware.Camera.<init>(Camera.java:265)
E/AndroidRuntime(32325): at android.hardware.Camera.open(Camera.java:226)
E/AndroidRuntime(32325): at com.example.videostreamer.MainActivity$CameraHandler.start(MainActivity.java:116)
E/AndroidRuntime(32325): at com.example.videostreamer.MainActivity$2.onClick(MainActivity.java:74)
E/AndroidRuntime(32325): at android.view.View.performClick(View.java:2532)
E/AndroidRuntime(32325): at android.widget.CompoundButton.performClick(CompoundButton.java:99)
在文件建立,我发现一个短语,说:
公共静态相机打开(INT cameraId)
自:API等级9 创建一个新的Camera对象访问特定硬件摄像头。 完成使用相机后,必须调用release(),否则将保持 锁定并对其他应用程序不可用。 您的应用程序一次只能为一个特定的 硬件摄像头启用一个Camera对象。
..但我只有一个摄像头对象的一个硬件摄像头,我想为第二个设备创建第二个对象。
- 有没有人知道这是可能的(我使用Android 2.3.3)?
- 地点:android.hardware.Camera.native_setup(本机方法)可以建议,可能是硬件/驱动程序限制 - 我使用HTC Sensation。
我也想做同样的事情,但不能实现它,它的限制android操作系统。
您必须发布连接的相机对象才能被其他人访问。
访问AudioRecord类时也面临同样的问题,直到你释放第一个类时,你才能创建它的对象。
这不是OS的限制;该API不禁止同时打开Camera的两个实例。这是不允许我们保持两台相机打开的实现。不幸的是,有些设备即使具备完全能力(例如三星S4和S5手机),也不会将此功能展示给第三方。另一方面,基于Snapdragon-801的手机通常可以工作,请参阅更多[这里](http://stackoverflow.com/a/28811277/192373)。 –
只要硬件支持,两台相机都可以一起启动。首先,您需要找到您的手机使用的特定SoC。你可以使用命令
$ adb shell getprop
Chech the field [ro.board。平台],对于Nexus 6,它返回
[ro.board.platform]: [msm8084]
现在您需要检查此芯片组是否具有双ISP能力的硬件。对于高通Snapdragon芯片组,您可以找到它here。对于三星Exynos你可以找到它here。现在,如果您的设备支持双摄像头并且安装了最新的操作系统,那么您可以使用由Jens开发的此应用程序(ref)来验证双摄像头是否工作。它可能应该工作,但它确实在我的Nexus 6 视频工作:http://youtu.be/lt8N1Lpa9Zw
谢谢你,宰
不幸的是,三星S4和S5不公开API以打开双相机,如* [如何在Galaxy S4中同时捕获前后相机?]中讨论的(http://stackoverflow.com/questions/17061045/how -to-捕获两者-前端和背面摄像机功能于星系-S4-同时)*。此外,在[** Samsung Developers **论坛](http://developer.samsung.com/forum/thread/a/201/247737)上得到确认。 –
这是不完全重复,但也有相关主题的更热门的讨论:* [同时使用前后相机同时安卓](https://stackoverflow.com/q/11419940/192373)* –