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

下面介绍如何在程序中支持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,程序自带了一个美女视频播放起来,这样你的摄像头就建好了。

2. JMF

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

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菜单选择设备就可以播放了。

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

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()来反复刷新界面,模拟动画效果。

好的,祝各位调试愉快。

让Android的emulator支持web camera相关推荐

  1. flutter制作博客展示平台,现已支持 Web、macOS 应用、Android 和 iOS

    Flutter Blog Theme using Flutter | Web, macOS, Android, iOS Flutter 最近发布了 Flutter V2.5.1,其性能得到了很大提升, ...

  2. 单枪匹马撸个聊天室, 支持Web/Android/iOS三端

    单枪匹马撸个聊天室, 支持Web/Android/iOS三端 原文地址: github.com/yinxin630/b- 前排提醒, 阅读本文需要对JavaScript较为熟悉, 本文将讲解核心功能点 ...

  3. Android开发者指南(18) —— Web Apps Overview

    前言 本章内容为开发者指南(Dev Guide)/Web Applications/Web Apps Overview,版本为Android 3.2 r1,翻译来自:"happyjiahan ...

  4. android canvas 保存图片,ionic3 html5 video 抓图保存到手机相册,解决Android手机不支持Canvas drawImage问题...

    当然百度出上W条答案 上代码,相信下面代码和小伙伴大同吧 相信好多做webview app的小伙伴们都有同样的问题,在pc上能轻松实现video 抓图.但是在android手机大多是不支持canvas ...

  5. 原生Android也能做Web开发了

    大家好,今天跟大家介绍一个让原生Android也可以做Web开发的开源项目--AndServer. 开源地址:github.com/yanzhenjie/- AndServer是一个Android端的 ...

  6. 流媒体服务器+终端(android,ios,web)来实现实时监控或着说是直播

    简介说明: 流媒体服务器+终端(android,ios,web)来实现实时监控或着说是直播 以下几个因素建议考虑 采集.预处理.编码.传输.服务器转码.解码 采集采集是播放环节中的第一环,iOS 系统 ...

  7. 突变!微软将结束对Office Android应用的支持

    整理 | 祝涛 出品 | CSDN(ID:CSDNnews) 早在6月底,就有报道称,微软可能计划将Chromebook上的Office用户转移到网络上.直到近日,微软正式宣布,将于9月18日起停止支 ...

  8. 在 Android 设备上搭建 Web 服务器

    在 Android 设备上搭建 Web 服务器 叶志陈已关注 12018.04.11 00:20:05字数 1,018阅读 10,291 一般而言,Android 应用在请求数据时都是以 Get 或 ...

  9. IP Camera 和 Web Camera 的区别

    一直以来,没太注意IP camera 和 Web Camera之间的区别,认为两者都是网络摄像头,昨晚,闲来无事就Google了一把,发现两者还是有区别的, 1) IP Camera IP Camer ...

最新文章

  1. 分布式id生成策略,我和面试官扯了一个半小时
  2. BCH矿池新格局,Coingeek矿池曾成为BCH算力最大的矿池
  3. oracle ocr组成员替换,Oracle RAC 迁移替换 OCR 盘
  4. 943602cs 蓝牙驱动 win10_英特尔升级WiFi 和蓝牙驱动,Win10 更新5月版稳了
  5. SQL 2005 全文索引
  6. python图片识别验证码软件_python识别图片验证码
  7. from rfc 2068 hypertext怎么解决_你好,打工人!用英语怎么表达“打工人”?可别直接说 worker...
  8. php如何修改二维数组的值,php如何改变二维数组的值
  9. 7805输入电流有要求吗_防雷!防护电路在PCB走线方面的要求(某500强企业内部资料~)...
  10. Python爬取猫眼电影排行榜并写入MySQL
  11. c语言 多核优化,【模型工具】一种对SWMM5的多核优化
  12. java提取姓名与手机号码_java – 从手机号码中提取国家/地区代码
  13. 2022年湖北工业大学招生简章之高起专、专升本非全日制学历提升
  14. 实力验证:金蝶EAS 8.2授权注册 (包含Apusic 9999连接数破解)
  15. 软件工程(成本/效益分析)
  16. 配置Pod的liveness和readiness探针
  17. yii 进入后台 inex.php,PHP应用:Yii中实现处理前后台登录的新方法
  18. 十一、Spring Boot整合Redis(一)
  19. 预览pdf 印章不显示问题
  20. 卉原中学2021年高考成绩查询,卉原中学2021年宿舍条件

热门文章

  1. 所有伟大的创新,本质上都是从一小撮年轻人肆无忌惮打破规则开始的
  2. Office各个windows版本支持哪些系统呢
  3. 卡通小人的眼睛跟着鼠标动
  4. 海康威视工业相机MV-CE060-10UC使用指北
  5. NJU数电实验1-3
  6. java 文件传输 多客户端 传输多文件_java 文件传输 多客户端 传输多文件
  7. k8s部署jenkins和Pod始终为pending状态“persistentvolume-controller no persistent volumes available.....”解决办法
  8. PS图层混合算法之六(差值,溶解, 排除)
  9. 深圳云计算培训:Linux学习思路(一)
  10. ASTERISK 拨号方案基础