【发布时间】:2011-05-29 02:29:43
【问题描述】:
有没有办法将静态图片设置为模拟器相机拍摄的照片?我想在模拟器上用 zxing 条码阅读器测试 ir。
【问题讨论】:
-
您最终实施了哪种解决方案或哪种解决方案对您有用?
标签: android mocking camera emulation
有没有办法将静态图片设置为模拟器相机拍摄的照片?我想在模拟器上用 zxing 条码阅读器测试 ir。
【问题讨论】:
标签: android mocking camera emulation
如果您在 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。希望这会有所帮助。
【讨论】:
gst-launch-1.0 一起使用,则freeze 更改为imagefreeze
这可以通过添加一个经典的抽象层来解决,例如这位先生在此示例源代码中所做的:
http://www.tomgibara.com/android/camera-source
具体来说,听起来您可能想要一些测试图片并使用BitmapCamera
【讨论】:
您还可以使用 Android 版 MockCamera。请参阅详细参考答案。 https://stackoverflow.com/a/38456086/1053097
【讨论】: