【问题标题】:How to use web camera in android emulator to capture a live image?如何在安卓模拟器中使用网络摄像头捕捉实时图像?
【发布时间】:2009-08-14 07:11:42
【问题描述】:

据我所知,Android 模拟器没有摄像头。要捕获实时图像,我们必须使用网络摄像头。我在这个web site 中看到了使用android 模拟器中的网络摄像头捕获图像的代码,但我不知道如何使用此代码。

【问题讨论】:

    标签: android camera simulator


    【解决方案1】:
    1. 下载页面上列出的所有源文件:CameraSource、GenuineCamera、HttpCamera、SocketCamera、BitmapCamera 和 WebcamBroadcaster。
    2. 在您的项目中创建一个名为 com.tomgibara.android.camera 的包,并将前 4 个源文件放入其中。
    3. here 下载 JMF 并安装。
    4. 使用以下命令编译 WebcamBroadcaster:"C:\Program Files (x86)\Java\jdk1.6.0_15\bin\javac.exe" -classpath "C:\Program Files (x86)\JMF2.1.1e\ lib" WebcamBroadcaster.java 或与之等效的文件。
    5. 使用以下命令运行并保持运行:java "-Djava.library.path=C:\Program Files (x86)\JMF2.1.1d\lib" WebcamBroadcaster
    6. 在您的程序中使用以下代码:
    CameraSource cs = new SocketCamera("192.168.0.100", 9889, 320, 240, true);
    if (!cs.open()) { 
    /* deal with failure to obtain camera */ 
    } 
    while(/*some condition*/) {   
    cs.capture(canvas) //capture the frame onto the canvas
    }
    cs.close();
    

    PS:我无法对此进行测试,因为我在运行 WebcamBroadcaster 时遇到错误。

    PPS:我今天才开始尝试 Android,所以这一切都可能是错误的。

    【讨论】:

    • 感谢您的回复,当我尝试创建包 com.tomgibara.android.camera 时,我会在第二个文件(GenuineCamera)中得到一个错误,没有可用的“CameraDevice”类第三个(HttpCamera)和第四个(SocketCamera)文件显示错误,方法宽度和高度不可用。请告诉我如何清除这些错误。
    • 我有同样的错误,这里是如何删除它们:不要在项目中包含 GenuindCamera(只需删除它)因为显然,它可以在分发项目时轻松移动到真实相机(想想多态性)。其余的,您只需要在这些文件中注释 @override 即可。让我知道您是否还有其他问题 :) 顺便说一句,WebcamBroadcaster 是否适合您?
    • @kumar,将widthheight分别替换为getWidth()getHeight()
    • 我收到 Unable to find a suitable player。可能是什么问题?
    • JMF 已/将被弃用。请改用 JMyron。
    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 2015-04-25
    • 2012-12-10
    相关资源
    最近更新 更多