有办法将静态图片设置为模拟器相机拍摄的照片吗?我想在模拟器上使用zxing条形码阅读器进行测试。
如果您正在Linux上运行模拟器,您可以使用v4l2loopback和gstreamer创建一个显示图像(例如QR码)的虚拟摄像头。
安装v4l2loopback:
$ wget https://github.com/umlaeute/v4l2loopback/archive/master.zip
$ unzip master.zip
$ cd v4l2loopback
$ make
$ sudo make install
检查您已经拥有多少个摄像头(我只有/dev/video0),然后初始化下一个:
检查您已经拥有多少个摄像头(我只有/dev/video0),然后初始化下一个:
$ sudo modprobe v4l2loopback video_nr=1 card_label="mockCam"
将图像(例如来自googlecharts的QR码)流式传输到模拟摄像头。这需要:
$ 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
。 - Elias Soares-camera-front none
。仅设置 -camera-back
选项会导致以下错误:_camera_client_query_stop: Camera '/dev/video2' is not started
。 - xonyaBitmapCamera
。你也可以在Android中使用MockCamera。请参考详细的参考答案。 https://stackoverflow.com/a/38456086/1053097