如何在Android模拟器相机中模拟图片?

Joa*_*lli 21 camera android mocking emulation

有没有办法在仿真器相机拍摄照片时设置静态图片?我想在模拟器上用zxing条形码阅读器测试ir.

Mar*_*omp 16

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

安装v4l2loopback:

$ wget https://github.com/umlaeute/v4l2loopback/archive/master.zip
$ unzip master.zip
$ cd v4l2loopback
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)

检查你已经拥有多少台摄像机(我只有/ dev/video0)并启动下一台摄像机:

$ sudo modprobe v4l2loopback video_nr=1 card_label="mockCam"
Run Code Online (Sandbox Code Playgroud)

将图像(例如来自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
Run Code Online (Sandbox Code Playgroud)

您可以检查仿真器是否拾取了模拟摄像头:

$ ./emulator -avd yourAVD -webcam-list
Run Code Online (Sandbox Code Playgroud)

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

$ ./emulator -avd yourAVD -camera-back webcam1
Run Code Online (Sandbox Code Playgroud)

您也可以将AVD设置更改为webcam1.希望这可以帮助.

  • 如果有人试图将它与`gst-launch-1.0`一起使用,那么`freeze`就会改为`imagefreeze` (2认同)

Joe*_*nez 7

这可以通过添加经典的抽象层来解决,例如这位绅士在此示例源代码中所做的:http:
//www.tomgibara.com/android/camera-source

具体来说,听起来像你可能想要一些测试图片并使用 BitmapCamera