在实际项目中,有些客户可能需要支持usb摄像头功能,如果你也遇到usb摄像头支持的问题,那这篇文章一定能帮助到你。

目前android是支持uvc协议的,也就是只要我们采用的usb摄像头是支持uvc协议的,那就可以在android上跑起来的。

一、我们先来了解下啥是uvc?

UVC

UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。(简单来说,就是一种协议标准)

二、来看看usb摄像头长啥样?

下面2张图片就是我目前手头上用的usb摄像头。

三、关于uvcCamera的开源项目?

GitHub开源项目:https://github.com/saki4510t/UVCCamera

目前网上关于uvcCamera 的例子,基本是基于这个开源项目来的,整个项目包含了so库的实现代码,以及包含了8个测试程序代码。

四、基于开源uvcCamera的项目,个人写的demo?

(亲手撸的demo,在android 9.0上验证过各个功能正常)

支持的功能:

1) 预览

2) 拍照

3) 录像

4) 实时yuv数据回调

本人从事Android Camera相关开发已有5年

目前在深圳上班

欢迎大家关注我的微信公众号“小驰笔记”

大家一起学习交流

-------- 2021.02.23 深圳 17:45

android中uvc调用usb摄像头,一篇文章带你了解Android Usb摄像头相关推荐

  1. 一篇文章带你走近Android自定义view

    系列文章目录 一篇文章带你走近Android自定义view 文章目录 系列文章目录 前言 一.为什么要自定义view 二.先看看一个超级简单的自定义view(三个构造函数) 三.了解手机的坐标系 四. ...

  2. MotionLayout,一篇文章带你了解Android最新的动画布局

    /   今日科技快讯   / 近日,国家市场监管总局网站发布对阿里.腾讯共11张行政处罚决定书.其中,市场监管总局发布对腾讯行政处罚决定书共九张,均为相关股权收购或设立合营企业构成未依法申报违法实施经 ...

  3. Android:学习AIDL,这一篇文章就够了(下)

    前言 上一篇博文介绍了关于AIDL是什么,为什么我们需要AIDL,AIDL的语法以及如何使用AIDL等方面的知识,这一篇博文将顺着上一篇的思路往下走,接着介绍关于AIDL的一些更加深入的知识.强烈建议 ...

  4. Android:学习AIDL,这一篇文章就够了(上)

    前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说--你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓--那样就很尴尬了.不过又转念一想, ...

  5. 一篇文章彻底搞懂Android事件分发机制

    本文讲的是一篇文章彻底搞懂Android事件分发机制,在android开发中会经常遇到滑动冲突(比如ScrollView或是SliddingMenu与ListView的嵌套)的问题,需要我们深入的了解 ...

  6. 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制

    概述 最近在学习Binder机制,在网上查阅了大量的资料,也看了老罗的Binder系列的博客和Innost的深入理解Binder系列的博客,都是从底层开始讲的,全是C代码,虽然之前学过C和C++,然而 ...

  7. 一篇文章带你认识数学建模中的二维插值

    本篇文章主要是认识数学建模中的二维插值 二维插值的具体计算可参考:一篇文章带你搞定二维插值的 MATLAB 计算 文章目录 一.引言 二.网格节点的概念 三.散乱节点的概念 四.二维插值的常见方法 1 ...

  8. 关于openGL, openGL ES, openVG及android中2D调用关系的报告

    关于openGL, openGL ES, openVG及android中2D调用关系的报告 http://blog.chinaunix.net/u3/99423/showart_2203591.htm ...

  9. 一篇文章带你看懂以及实现加解密技术中的信息防篡改、一码一检、过期失效、多种实现方式

    一篇文章带你看懂以及实现加解密技术中的信息防篡改.一码一检.过期失效.多实现方式 导语 一.简介 二.代码功能介绍以及源码 2.1.AbstractRsa 类 2.2 RsaUtils 类 2.3 R ...

最新文章

  1. C++中的string::compare的使用
  2. 【青少年编程】【二级】绘制方形螺旋
  3. mfc removemenu 静态菜单 删除_循序渐进的升级,静态体验新款奥迪 A4L
  4. bigdecimal不等于0怎么写_创业计划书不知道怎么写?掌握核心逻辑是关键
  5. Step By Step 搭建 MySql MHA 集群
  6. Unreal3 window下内存管理实现详解
  7. Farrago for Mac(强大的现场多音频播放工具)
  8. 任务调度 QUARTZ
  9. 360浏览器怎么开java_360安全浏览器怎么打开javascript
  10. 2018acm编程大赛题目c语言,编程竞赛题(超牛题目,留下做研究).doc
  11. python返回类型为anytype_python - Zeep的SOAP请求(Python) - 堆栈内存溢出
  12. 用python来开发webgame服务端系列
  13. win7系统opc服务器配置,win7 设置opc服务器
  14. 什么是软件外包公司?要不要去外包公司?
  15. XXL-JOB漏洞解决,Eclipse Jetty HTTP请求走私漏洞
  16. 中医学:—种基于隐喻认知的语言
  17. 用u盘制作u启动重装系统的步骤实现
  18. 如何将乱码转化为UTF-8
  19. 2016年下半年信息安全工程师上午选择题及解析
  20. matplotlib 设置标注方向_原来Matplotlib绘图也可以这么漂亮,这次真的是学习到了...

热门文章

  1. 图说真实上海IT圈:张江男VS漕河泾男
  2. 数据流图的画法,如何画数据流图
  3. UITableView中行的操作
  4. 亚马逊广告打造篇(第二期)
  5. 【转载】聚宽:JQData | 量化界最好用的本地量化金融数据
  6. android之ListView,GirdView和常用适配器
  7. 2023年最新「Typora 1.5.10」安装教程(超级详细、亲测有效~)
  8. 浏览器进制及编码常识
  9. html div元素浮动,CSS实现元素浮动和清除浮动的方法
  10. 基于js+echarts实现数据可视化大屏展示