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

有没有一种方法来设置一个静态图片的照片被模拟器的相机拍摄? 我想用模拟器上的zxing条形码阅读器来testingir。

  • Android API版本兼容性
  • 如何使用JNI在C中获得原始的Android相机缓冲区?
  • Android相机setJpegQuality被忽略
  • BitmapFactory.decodeByteArray()返回NULL
  • Android的webview页面重新加载后捕获图片和上传在Android 5 +
  • 颠倒相机预览字节数组
  • 将QVideoFrame直接转换为QPixmap
  • 使用Android相机进行image processing
  • 这可以通过添加一个经典的抽象层来解决,比如这位先生在这个示例源代码中所做的:
    http://www.tomgibara.com/android/camera-source

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

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

    安装v4l2loopback:

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

    检查你已经有多less相机(我只有/ dev / video0),并启动下一个:

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

    将图像(例如,来自googlecharts的QR)stream式传输到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的MockCamera。 详见参考答案。 https://stackoverflow.com/a/38456086/1053097