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

问题描述 投票:7回答:5

我这么长时间面对这个问题,但是我能够得到任何解决方案来在模拟器中使用相机。我已经完成了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

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

谢谢。

android android-camera android-camera-intent
5个回答
13
投票

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


2
投票

打开工具 - > Android-> AVD管理器,然后单击虚拟设备的编辑。单击虚拟设备配置窗口中的显示高级设置。然后打开摄像机设置字段,选择模拟正面和背面。就是这样。


0
投票

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

你可以Enable camera in Emulator.But模拟器不会显示实时相机。

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

一般说明 - 添加网络摄像头支持到Android 4.0或更高版本的平台,以在存在一个网络摄像头时模拟后置摄像头,并在存在两个网络摄像头时模拟后置摄像头和前置摄像头。网络摄像头支持仅适用于Windows和Linux。 Mac支持将在稍后发布。


0
投票

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

  1. 编辑AVD并将仿真性能/图形从自动设置为软件 - GLES 1.1。
  2. 将SD卡大小更改为256 MB。
  3. 仅将摄像机中的一个(例如Front)设置为webcam0,将其他一个设置为none或模拟。

希望这可以帮助其他人解决同样的问题。


-2
投票

从android文档:

模拟器限制

不支持摄像头/视频捕获换句话说,不支持,您无法在仿真器中访问或预览摄像头。

© www.soinside.com 2019 - 2024. All rights reserved.