搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小舞很执着
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
写一个TCP客户端python_python写的tcp反向代理
2
CentOS 7 系统优化
3
【GitHub项目推荐--4个顶级AI Agent开源项目】【转载】_github上的ai开源项目
4
MySQL的Join_mysql join
5
值得收藏!2023 年,你应该知道的所有机器学习算法~
6
分布式 | 利用 TiDB DM 将数据从 MySQL 迁移至 DBLE_dbltbi
7
CentOS7 执行yum 命令出错 One of the configured repositories 如何解决
8
Stable Diffusion 保姆级实战教程!学不会来打我!_stable diffusion 实战
9
【git】如何在github上推送并部署自己的项目_怎么把自己的一个算法部署到电脑上方便的软件
10
Xilinx FIFO RST复位_fifo复位
当前位置:
article
> 正文
终于搞定android驱动USB摄像头了!_android usb hidbilibili
作者:小舞很执着 | 2024-08-22 16:32:19
赞
踩
android usb hidbilibili
终于搞定android驱动USB摄像头了!
多亏了stackoverflow看到的一篇帖子,其中有几句关键的话,然后顺藤摸瓜解决了问题。
帖子大意:
讨论的前提是你的USB摄像头是UVC兼容的(如今大部分摄像头兼容)
默认Android不提供访问外部摄像头的API,所以你要考虑写一个内核到Android应用层通信的中间件。
当你给设备接入了USB摄像头,首先要检查一下几点:
1)你的设备是否支持USB-OTG?
2)是否在/dev目录创建了设备?如果创建了就那么一切就很简单了。shell 执行 ls -l /dev/v*,你将会看到video0或者video1。
3)如果/dev没有创建设备,
你需要写一个固件(UVC)跟硬件通信
!
(帖子地址:http://stackoverflow.com/questio ... android-application)
读到这里,再次给我的MK802接上USB摄像头,然后打开adb shell,执行ls -l /dev/v*,看到了 /dev/video0设备!
拔掉摄像头,再执行,video0消失,再连接,video0出现,这说明mk802支持我的摄像头!
到此,已经明确,下一步我需要写一个android应用层到内核通信的中间件,我对这个也不了解,于是在google狂搜“android usb camera”
终于功夫不负有心,找到了一个android usb摄像头的应用例子
http://brain.cc.kogakuin.ac.jp/research/usb-e.html
从中找了一个SimpleWebCamra.apk,下载了赶紧装上,发现不能运行,logcat报一个错,提示没有权限访问video0设备。
这是为什么?我的系统已经root了呀!难道我的apk也要获得root权限?又在网上查资料,试了半天,还是不行。
后来忽然灵机一动,android也是linux呀,我能不能把video0设备设置成没权限?问了问朋友,执行了一个命令:
chmod 777 /dev/video0
再次运行apk终于跑起来了!(后来经测试,设置成 chmod 0666 /dev/vidoe0 也可以,但是我也不懂0666的含义。。)
但是问题又来了,程序进去以后,报错
VIDIOC_DQBUF error 22, Invalid argument
于是想,必须要活的SimpleWebCamea的源码了!经过苦苦搜索,很幸运的找到一个simplewebcam的源码:
https://bitbucket.org/neuralassembly/simplewebcam/src
下载一看,里边包含ndk的c源码和android源码,于是按照ndk教程,安装了cygwin
苦于c代码看不太懂,错误提示VIDIOC_DQBUF 调用参数错误,却无从下手。
于是看了n篇教程,偶然发现说打开摄像头设备的open方法的一些参数,然后试着把c代码中的一些参数去掉:
fd = open (dev_name, O_RDWR | O_NONBLOCK, 0);
改为
fd = open (dev_name, O_RDWR);
再次build,运行,天啊终于出来了,高兴死了!
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
Android
设置
屏幕亮度_
android
命令
设置
背光
settings
...
使用SeekBar调节,代码如下: /** *
设置
屏幕亮度 */ private void setBrighrne...
赞
踩
article
Instagram
+
Android
:
Four
Years
Later_
down
instagr...
Instagram
作为一款千锤百炼的优秀应用,它的成长历程充满了其团队的态度和原则,阅读下来感受颇多,转到墙内,以资共勉...
赞
踩
article
探索安全边界:解锁
Android
应用的
HTTPS
流量检验——
android
-
ssl
-
pinning
-...
探索安全边界:解锁
Android
应用的
HTTPS
流量检验——
android
-
ssl
-
pinning
-
bypass
工具评测...
赞
踩
article
绕过
Android
SSL
Pinning
...
转载请注明出处。请前往 Tiga on Tech查看原文以及更多有趣的技术文章。SSL
Pinning
指的是,对于 t...
赞
踩
article
Android
多媒体开发——
Media3
与
MediaSession
最全
使用指南
...
官方释义:ExoPlayerPlayer个人理解:媒体会话,即向系统公开正在播放的媒体信息,并对外开放控制端口。可以用它...
赞
踩
article
android
11
添加
property
遇到的
selinux
问题...
dac_override 是一种典型的neverallow权限,要
添加
dac_override权限必须是coredoma...
赞
踩
article
Android
Gradle
之自定义
Extension
_gradle
ext
...
就是
Gradle
的
Extension
,翻译成中文意思就叫扩展。它的作用就是通过实现自定义的
Extension
,可...
赞
踩
article
比较
全
的机油
教程
(
android
)_小挽v2
全
日注入
版
.
apk.1
...
“G”“E”“H”“T”信号完美解释移动用户: 手机的网络图标有这三种:“G,E,H G:
全
称:gprs既传输速率理...
赞
踩
article
android
edge
插件
,微软欲让
Edge
无缝
支持
Chrome
扩展
插件
...
作者:不详发表于:2015-08-03 09:37:41在今年早些时候第一场 Windows 10 发布会上,微软向世人...
赞
踩
article
探索 `
Android
Extensions
`
:
提升
Android
开发
效率
的
新锐工具...
探索
Android
Extensions
:
提升
Android
开发
效率
的
新锐工具
Android
-Extension...
赞
踩
article
【
Android
Gradle 插件】
Extension
扩展类型 (
Module
引入插件类型 ...
一、
Module
引入插件类型。【
Android
Gradle 插件】
Extension
扩展类型 (
Module
引...
赞
踩
article
Android
:
AIDL
简单介绍+
传递
简单
数据
+
传递
复杂
数据
...
本文详细介绍了
AIDL
(
Android
InterfaceDefinitionLanguage)在进程间通信中的应用,包括...
赞
踩
article
Android
super
.
img
结构及
解包
和重新组包
_
super
.
img
解包
...
Android
10开始使用动态分区,system、vendor、 odm等都包含在
super
.
img
里面,编译后的最终镜...
赞
踩
article
Android
项目中使用
kotlin
(
build
.
gradle
的配置)_
kotlin
-andr...
本文介绍了如何在已有的Java基础上的
Android
项目中引入Kotlin进行开发。关键步骤包括在project的bui...
赞
踩
article
配置
build
---
Android
Gradle
插件 --- 配置
应用
模块_模块化自定义**...
本文详细介绍了如何配置
Android
应用
模块,包括设置
应用
ID和命名空间。
应用
ID是
应用
的唯一标识,不应在发布后更改。命...
赞
踩
article
Android
build
.
gradle
配置
详解_
build
.
gradle
.kts
配置
...
Android
Studio中的Gradle文件
Android
Studio是采用
gradle
来构建项目的,
gradle
是...
赞
踩
article
Android
ViewBinding
封装
使用_
viewbinding
封装
...
1、
ViewBinding
+ Activity
封装
2、
ViewBinding
+ Fragment
封装
3、View...
赞
踩
article
Android
ViewBinding
使用详解_
android
viewbinding
怎么用...
小编这些年深知大多数初中级
Android
工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。...
赞
踩
article
【
Android
】用
ViewBinding
让你的
代码
告别混乱_
viewbinding
一键
转换
...
当我们刚接触
Android
开发的时候,最常写的莫过于使用去在
代码
中找到并操作布局文件中的视图。然而,随着应用程序复杂性的...
赞
踩
article
【
Android
Jetpack】
ViewBinding
视图
绑定_
viewbinding
incl...
ViewBinding
是Google在2019年I/O大会上公布的一款
Android
视图
绑定工具,在
Android
St...
赞
踩
相关标签
android
instagram
engineering
安全
系统安全
web安全
网络安全
安全架构
java
移动开发
入门教程
http
手机
htc
windows
flash
google
android edge 插件
学习
开发语言
linux
super.img