在 Android 模拟器中使用 Camera

我希望在机器人模拟器中使用网络摄像头模拟摄像头。基本上我只需要在模拟器中用相机拍照(实时预览是不需要的,如果它使它更容易)

我遵循的教程 给你,这是唯一一个我可以找到,接近我的要求

但是该教程中使用的许多库(如 android.hard)。CameraDevice)在当前 sdk 中不可用,并被新的库(如 android.hardware.Camera)所替代。

如果您能在目前的 sdk (2.1或2.2)中提供帮助,我将不胜感激。

160457 次浏览

虽然看起来不像,但是安卓系统认为摄像头是一种设备。每次我运行模拟器,我的摄像头的主动灯就会亮起来。

Tom Gibara 教程的升级版。你可以改变网络摄像机广播到 使用 JMyron 而不是旧的 JMF

新的模拟器(sdk r15)管理网络摄像头; 但是它在集成网络摄像头方面有一些问题(至少在我的 ^ ^ 方面)

更新: ICS 模拟器支持摄像头。

更新@param 的答案。

ICS 模拟器支持摄像头。

我找到了 简单的 Android 照片捕捉,它支持 Android 模拟器中的网络摄像头。

进行一些阐述,希望澄清已经说过的话:

如上所述,本地支持网络摄像头在当前的 SDK 中,但只适用于最近的 android 版本(4.0及更高版本)

网络摄像头检测是自动存在的。在4.0.3中,摄像头默认为前置摄像头,所以很多应用程序(特别是2.3之前的应用程序,它只能获取默认的摄像头,即后置摄像头)仍然会显示旧的带移动方块的复选框替身。

我认为更多的信息可以在下面的文章中找到: Android Eclipse 模拟器上的摄像头:

或者至少,这是我能找到的最多的信息——除了 SDK 工具发布说明中的简短、无用的陈述。

在您的 AVD 高级设置,您应该能够设置前面和后面的摄像机 Webcam()Emulated

enter image description here

最新的 camera2 apis 在启用了摄像头支持的模拟器上工作得很好。

使用新 API 的例子:

Https://github.com/googlesamples/android-camera2basic/blob/master/application/src/main/java/com/example/android/camera2basic/autofittextureview.java

为了以防万一,你只是需要显示一个图片,以响应相机的要求,有 图像对照相机图像对照相机

只需下载,构建,安装,复制一个你选择的图像到设备,你可以通过应用程序选择它,这是一个替代内置摄像头。

如果您正在使用 命令行工具命令行工具,或者只是想直接编辑 config.ini文件,您可以选择:

选项1: 使用命令行选项

emulator -help | grep cam # => shows items such as -camera-back
emulator -help-camera-back # => show supported values for this option
emulator -avd $MY_AVD -camera-back virtualscene # Example invocation

如果您想使用您的实际相机而不是模拟,该选项的值将是 webcam${N}。你怎么知道 ${N}应该是什么?emulator -webcam-list列出并描述了计算机上可用的摄像头。

选项2: 编辑配置文件

使用我们上面学到的合法值,编辑文件 ~/.android/avd/${MY_AVD}/config.ini并添加一行(我将使用 virtualscene作为我的选择值) :

hw.camera.back = virtualscene