主题 : Android下使用/dev/video设备 复制链接 | 浏览器收藏 | 打印
静默.....
级别: 新手上路
UID: 10160
精华: 0
发帖: 37
金钱: 195 两
威望: 42 点
综合积分: 74 分
注册时间: 2009-10-26
最后登录: 2021-09-18
楼主  发表于: 2014-04-23 19:36

 Android下使用/dev/video设备

各位,我在实验板上写了个小程序,通过/dev/video设备,使用V4L2实现抓取一帧图像,在单板上运行是OK的
最近想把它移植到我的安卓手机上,已经能运行了,但是在访问手机内的/dev/video设备的时候不正常

哪位大神指导一下,在安卓手机上要怎么访问 /dev/video设备的
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2014-04-24 13:22

 回 楼主(380121850) 的帖子

这取决于你的应用是哪种类型的。如果是C程序写的并且运行时有足够权限的话,可以用open("/dev/video0", O_RDWR),假设你要访问第一个V4L2设备。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
静默.....
级别: 新手上路
UID: 10160
精华: 0
发帖: 37
金钱: 195 两
威望: 42 点
综合积分: 74 分
注册时间: 2009-10-26
最后登录: 2021-09-18
2楼  发表于: 2014-04-25 19:46
谢谢回复
我已经写了一个程序,根据V4L2的架构去访问/dev/video设备了
现在我把这个小程序放在开发板上运行得很好,可以实现抓图功能,
但是我放到安卓手机上运行的时候(已经root,有root权限的),打开/dev/video设备是正常的,
但是进行其它一些接口,比如 VIDIOC_STREAMON (启动设备)就一直阻塞在里面,
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2014-04-26 22:15

 回 2楼(380121850) 的帖子

这可能需要你打开对应Camera驱动里的调试信息来找出程序阻塞的原因。另外,对于Android上的应用程序,我想最好还是用Android的Camera框架接口来操作硬件,否则很可能会出现你的应用程序和系统服务同时访问硬件而造成资源冲突。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 102479
精华: 0
发帖: 14
金钱: 75 两
威望: 15 点
综合积分: 28 分
注册时间: 2014-04-02
最后登录: 2018-04-22
4楼  发表于: 2014-09-21 11:57
求楼主的小程序,我最近也在弄这个,可是始终没有打开成功