任何模拟器的相机都无法正常工作

时间:2013-12-21 05:06:29

标签: android android-camera android-camera-intent

我面对这个问题已经很久了但是我能够得到任何解决方案来在模拟器中使用相机。我已经完成了SO的所有答案,但现在没有人帮助我了。

如果我使用任何api创建任何模拟器,但我的模拟器相机应用程序都不起作用。所以我无法测试任何包含相机功能的应用程序。我想可能是它的发生,因为我的系统的硬件配置。但我不确定。

我不知道为什么会出现这个问题。请帮我解决并找出问题的原因。

这是我在模拟器中启动相机时出现的错误。

12-21 00:04:58.100: E/CameraService(55): CameraService::connect X (pid 2604) rejected (invalid cameraId 0).
12-21 00:04:58.110: W/CameraBase(2604): An error occurred while connecting to camera: 0
12-21 00:04:58.110: E/CameraHolder(2604): fail to connect Camera
12-21 00:04:58.110: E/CameraHolder(2604): java.lang.RuntimeException: Fail to connect to camera service
12-21 00:04:58.110: E/CameraHolder(2604):   at android.hardware.Camera.native_setup(Native Method)
12-21 00:04:58.110: E/CameraHolder(2604):   at android.hardware.Camera.<init>(Camera.java:350)
12-21 00:04:58.110: E/CameraHolder(2604):   at android.hardware.Camera.open(Camera.java:309)
12-21 00:04:58.110: E/CameraHolder(2604):   at com.android.camera.CameraHolder.open(CameraHolder.java:131)
12-21 00:04:58.110: E/CameraHolder(2604):   at com.android.camera.Util.openCamera(Util.java:267)
12-21 00:04:58.110: E/CameraHolder(2604):   at com.android.camera.Camera$4.run(Camera.java:1100)
12-21 00:04:58.110: E/CameraHolder(2604):   at java.lang.Thread.run(Thread.java:841)
12-21 00:04:58.110: W/dalvikvm(2604): threadid=11: thread exiting with uncaught exception (group=0xb4a29b90)
12-21 00:04:58.120: E/AndroidRuntime(2604): FATAL EXCEPTION: Thread-117
12-21 00:04:58.120: E/AndroidRuntime(2604): Process: com.android.camera, PID: 2604
12-21 00:04:58.120: E/AndroidRuntime(2604): java.lang.RuntimeException: openCamera failed
12-21 00:04:58.120: E/AndroidRuntime(2604):     at com.android.camera.Util.openCamera(Util.java:272)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at com.android.camera.Camera$4.run(Camera.java:1100)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at java.lang.Thread.run(Thread.java:841)
12-21 00:04:58.120: E/AndroidRuntime(2604): Caused by: com.android.camera.CameraHardwareException: java.lang.RuntimeException: Fail to connect to camera service
12-21 00:04:58.120: E/AndroidRuntime(2604):     at com.android.camera.CameraHolder.open(CameraHolder.java:135)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at com.android.camera.Util.openCamera(Util.java:267)
12-21 00:04:58.120: E/AndroidRuntime(2604):     ... 2 more
12-21 00:04:58.120: E/AndroidRuntime(2604): Caused by: java.lang.RuntimeException: Fail to connect to camera service
12-21 00:04:58.120: E/AndroidRuntime(2604):     at android.hardware.Camera.native_setup(Native Method)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at android.hardware.Camera.<init>(Camera.java:350)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at android.hardware.Camera.open(Camera.java:309)
12-21 00:04:58.120: E/AndroidRuntime(2604):     at com.android.camera.CameraHolder.open(CameraHolder.java:131)
12-21 00:04:58.120: E/AndroidRuntime(2604):     ... 3 more

以下是我在尝试编辑模拟器时获得的选项。

enter image description here 谢谢。

6 个答案:

答案 0 :(得分:13)

我已通过将模拟器"Back Camera"属性更改为模拟解决了我的问题,如屏幕截图所示。

enter image description here

答案 1 :(得分:2)

打开工具 - &gt; Android-&gt; AVD管理器,然后单击您的虚拟设备的编辑。单击虚拟设备配置窗口上的显示高级设置。然后打开相机设置字段,选择模拟正面和背面。这就是它

答案 2 :(得分:0)

doc中没有关于限制模拟器的相机声明。

你可以Enable camera in Emulator。但仿真器无论如何都不会显示实时相机。

Android SDK version 14开始,模拟器支持网络摄像头来模拟相机:

  

一般说明 - 为Android 4.0或更高版本的平台添加了网络摄像头支持   当一个网络摄像头存在时模拟后置摄像头,并且   当两个摄像头相同时,模拟后置摄像头和前置摄像头   当下。网络摄像头支持仅适用于Windows和Linux。 Mac支持会   进来后来发布。

答案 3 :(得分:0)

我在ubuntu 16.04中使用的是Android Studio 3.1.1并且遇到了同样的问题 所以经过几天的谷歌搜索,终于自己解决了我的问题。 解决方案是:

  1. 编辑AVD并将仿真性能/图形自动设置为软件 - GLES 1.1
  2. SD卡的尺寸更改为 256 MB
  3. 只将一台相机(例如Front)设置为webcam0,将其他一台设置为none或模拟。
  4. 希望这可以帮助其他人解决同样的问题。

答案 4 :(得分:-1)

只需这样做

在正面和背面模拟使用,然后更改sdcard大小

答案 5 :(得分:-2)

来自android文档:

模拟器限制

不支持相机/视频捕捉 换句话说,不,您无法在模拟器中访问或预览相机。