让Android的emulator支持web camera

emulator的camera没有支持动态获取图像的功能。所能用到的是像下面那样的,很不爽。

image

下面介绍如何在程序中支持web camera。

我们要用到的方法是http://www.tomgibara.com/android/camera-source介绍的。基本上就是利用socket或者http的方式从webcam中获取图像。更进一步,如果你连webcam都不方便安装的话,可以使用虚拟摄像头。下面我们分别介绍这两种方法(socket和http)。

OK,请准备一下一些资源。

1. JMF

这个可以提供socket方式的图像获取。

http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html下载。(第一次看到这个页面可能有点晕,页面最下面Downloads里面有下载链接Download JMF

2. Virtual Camera

这个就是我们的视频图像源了,可以通过播放本地视频文件等方式模拟摄像头的行为。

网上应该有很多,我使用的是从http://www.onlinedown.net/softdown/47920_2.htm下载的。

3. Web Camera 2000

这个软件可以抓取摄像头的图像并用内嵌的web server让外部以http的方式获取图像,好强大。

4. IntelliJ或者Eclipse

目前用过这两个android的IDE,还是觉得IntelliJ好用些。没有恶心的Pem/Gen error,并且自动提示在10.0+版本有很好的表现。关于如何建立开发环境可以google/baidu一下子。

我们要用到http://www.tomgibara.com/android/camera-source里面的两个类:HttpCamera和SocketCamera。

下面介绍一下Socket方式的软件安装配置要点。

我的桌面环境是windows 7 Ultimate。windows xp/vista应该更简单一些。Linux的自己摸索一下了,应该类似。

1. Virtual Camera

安装好以后选择Source->Video/Image Files,程序自带了一个美女视频播放起来,这样你的摄像头就建好了。

image

2. JMF

装好以后,以管理员权限运行C:/Program Files/JMF2.1.1e/bin/jmfinit.exe。这样你的摄像头就应该能被识别了。可以用jmstudio.exe的File->Capture功能确认一下。

image

image

image

OK,JMF和Camera可以连起来工作了。

3. 在自己的程序中使用Socket方式获取图像

比如在自定义控件中使用以下代码:

private void capture(Canvas canvas) {
        CameraSource cs = new SocketCamera("192.168.1.27", 9889, 320, 240, true);
        if (!cs.open()) {
            // give some error message here….
        }

        //capture the frame onto the canvas
        if(!cs.capture(canvas)) {
            // give some error message here….
        }

        cs.close();
    }

下面介绍一下HTTP方式的安装配置要点。

1. Virtual Camera

跟上面一样,不赘述

2. Web Camera 2000

这个程序不用安装,直接解压缩就可以了。从Video菜单选择设备就可以播放了。

image

还可以设置Enable Web Server以及端口号。

image

3. 在自己的程序中使用Http方式获取图像

比如在自定义控件中使用以下代码:

private void capture(Canvas canvas) {
        CameraSource cs = new HttpCamera(http://192.168.1.27:8080, 320, 240, true);
        if (!cs.open()) {
            // give some error message here….
        }

        //capture the frame onto the canvas
        if(!cs.capture(canvas)) {
            // give some error message here….
        }

        cs.close();
    }

小提示:

可以在onDraw()中使用invalidate()来反复刷新界面,模拟动画效果。

好的,祝各位调试愉快。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍:可随意截图,不管是手机上显示的还是手机摄像头里看到的,更可录像(将你在手机上玩的游戏录下来分享给好友-可谓是众乐乐啊)本软件支持USB_蓝牙_WIFI 塞班相关信息http://bbs.dospy.com/thread-5086709-1-193-4.html 安装说明:先安装Pc端_mobiola_webcam_3_0_11.exe文件后安装Webcam_v3.0.11汉化.exe会提示覆盖,点确定。 再安装手机端_webcam_s60_v_3_0.sis(此文件需你自签名!) 而后把手机和电脑用USB数据线(或蓝牙_WIFI)连接,首先打开手机端Mobiola Web Camera for S60软件,然后打开电脑端Mobiola Web Camera for S60软件,这时电脑右下方的Mobiola Web Camera for S60小图标会有一条红杠,在软件右方选择USB,然后选择端口。(端口的查看-我的电脑-右键-管理-设备管理器-端口里查找你的手机端口是哪一个)如果还是分别不出那可在电脑端Mobiola Web Camera for S60软件里一个一个试,选择好后红扛会消失,表示连接成功 在手机Mobiola Web Camera for S60介面上有两个介面,一个是cam 1和Screen。请在cam 1介面下点-选择-connect-USB 点确定。这时就会自动连接。连接成功后电脑端Mobiola Web Camera for S60软件会显示出你的手机摄像头拍摄出的情景,也可通过它截取你手机上显示的所有内容(图片格式),录像也不在话下!一个字-强... 注明:开这软件要先开手机端,再开电脑端。如果中间你关了视频,那么要把电脑端的关掉,先把手机端打开再开电脑端。支持QQ、MSN等所有聊天视频等... ____如果觉得好用 也请多关照本店(淘宝店铺:http://shop68388423.taobao.com/)软件陆续更新中____
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值