android - 如何在 Android Emulator Camera 中模拟图片?

标签 android mocking camera emulation

有没有办法将静态图片设置为模拟器相机拍摄的照片?我想在模拟器上用 zxing 条码阅读器测试 ir。

最佳答案

如果您在 linux 上运行模拟器,您可以使用 v4l2loopback 和 gstreamer 创建一个显示图像(例如 QRcode)的模拟网络摄像头。

安装 v4l2loopback:

$ wget https://github.com/umlaeute/v4l2loopback/archive/master.zip
$ unzip master.zip
$ cd v4l2loopback
$ make
$ sudo make install

检查你已经有多少个摄像头(我只有/dev/video0)并初始化下一个:

$ sudo modprobe v4l2loopback video_nr=1 card_label="mockCam"

将图像(例如来自 googlecharts 的 QR)流式传输到 mockCam。这要求:

$ wget "https://chart.googleapis.com/chart?chs=600x340&cht=qr&chl=testing" -O qr.png
$ gst-launch-0.10 filesrc location=qr.png ! pngdec ! freeze ! v4l2sink device=/dev/video1

您可以检查您的模拟相机是否被模拟器拾取:

$ ./emulator -avd yourAVD -webcam-list

如果是这样,您可以使用模拟网络摄像头启动模拟器:

$ ./emulator -avd yourAVD -camera-back webcam1

您还可以将 AVD 设置更改为 webcam1。希望这会有所帮助。

关于android - 如何在 Android Emulator Camera 中模拟图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6165618/

相关文章:

android - 如何使用 Java 10 获取 SHA 1 证书?

java - 我们如何在 Android 应用程序中创建 Kafka 生产者?

android - 使用 SurfaceHolder.setFixedSize(width,height) 设置 SurfaceView 的大小

testing - 带参数的 Groovy 模拟方法

c# - 如何检测 Windows 移动设备是否有摄像头? C#

linux - 从linux命令行抓图(uvccapture抓黑图)

安卓 WebView : call activity methods form JavaScript interface

c++ - 在已在共享库中实现的可执行文件中实现静态方法是否安全?

java - 模拟 SAP IDoc 服务器

python - OpenCV使过饱和的网络摄像头图像变暗