本发明涉及一种基于Android多应用共享摄像头的系统及方法,属于计算机领域。

背景技术:

在一些特殊的应用场景。例如后台一直在录像,这时摄像头会被录像应用一直占有,其他的应用无法再打开摄像头。如果其他应用要使用摄像头那么必须先把占用摄像头同的应用退出。

目前业内没有很好的解决办法,有些方案是这样做的:

方案1:应用打开摄像头时,如果摄像头被占用,那就强制把摄像头让给最后打开摄像头的应用。本质上不是共享,只是修改了摄像头使用的策略。

方案2:不改变摄像头的占用,但是改变摄像头预览的窗口。哪个应用要预览摄像头图像就把摄像头预览数据切到哪个应用。

现有技术(专利号2016105494670)公开了基于Android智能后视镜摄像头共享的系统及方法,其系统包括应用层和框架层,所述应用层具有至少两个使用摄像头资源的应用程序单元;其中,所述框架层内设置有摄像头服务层、摄像头客户端和摄像头硬件适配层,用于在查找到之前该摄像头已创建的客户端后,由所述摄像头服务层设置预览窗口到该摄像头客户端,并由该摄像头客户端将预览窗口传入所述摄像头适配层,并由该摄像头适配层填充预览窗口进行预览显示。

申请人认为仅仅只是摄像头画面显示策略的调整而已。并没有真正实现共享。

技术实现要素:

针对现有技术的不足,本发明的技术方案提供了一种基于Android多应用共享摄像头的系统及方法,在硬件虚拟层虚拟出另外一个摄像头,能够完整的支持Android摄像头的所有功能,包括预览,拍照,录像等,而且允许多个应用同时预览摄像头画面,实现真正的共享摄像头。

本发明的技术方案包括一种基于Android多应用共享摄像头的系统,其特征在于,该系统包括:地址获取模块,用于获取Android系统中摄像装置的数据地址;虚拟摄像模块,用于创建多个虚拟化摄像装置与所述地址获取模块获取的数据地址进行共享及关联,每个虚拟化摄像装置的数据地址拥有唯一标识;图像共享模块,用于使用虚拟化摄像装置通过数据地址获取摄像装置的视频数据,并发送至对应的应用程序。

根据所述的基于Android多应用共享摄像头的系统,其中的地址获取模块还包括:用于识别用户所使用的系统内需要使用摄像装置的应用程序及可用摄像装置的个数,将摄像装置对应的标识符及应用程序标识符加入不同的数据队列,以及提供编辑界面对应用程序与摄像装置交互进行自定义的控制,其中控制包括解除及建立不同数据队列的关联。

根据所述的基于Android多应用共享摄像头的系统,其中的虚拟摄像模块还包括:用于实时获取所需摄像装置的多个应用程序标识码,为每个应用程序创建对应对应的虚拟摄像装置,每个虚拟摄像装置具有唯一标识。

根据所述的基于Android多应用共享摄像头的系统,其中的虚拟摄像模块还包括:用于根据所获取的摄像机装置的数据地址创建主虚拟摄像机装置,进一步,通过主虚拟摄像装置将摄像机装置的数据地址共享至其他的多个虚拟摄像机装置。

根据所述的基于Android多应用共享摄像头的系统,其中的虚拟摄像模块还包括:其中的多个虚拟摄像机装置位于Android系统的硬件抽象层。

根据所述的基于Android多应用共享摄像头的系统,其中的图像共享模块还包括:用于通过虚拟摄像装置获取摄像头装置所采集的视频流数据,并将视频流数据发送至对应的应用程序,以及,使用摄像装置的功能。

本发明的技术方案还包括根据上述任意系统的一种基于Android多应用共享摄像头的方法,其特征在于,该方法包括:获取Android系统中摄像装置的数据地址;创建多个虚拟化摄像装置与所述地址获取模块获取的数据地址进行共享及关联,每个虚拟化摄像装置的数据地址拥有唯一标识;使用虚拟化摄像装置通过数据地址获取摄像装置的视频数据,并发送至对应的应用程序,。

本发明的有益效果为:不通过摄像装置的策略切换就能够能够在Android系统使多个应用程序使用摄像装置及摄像头功能。

附图说明

图1所示为根据本发明实施方式的总体结构框图;

图2所示为根据本发明实施方式的虚拟摄像头实现框图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的基于Android多应用共享摄像头的系统适用于智能后视镜、行车记录仪、智能中控等及运动DV。

图1所示为根据本发明实施方式的总体结构框图;

图2所示为根据本发明实施方式的虚拟摄像头实现框图。其如下所示:

(1)硬件上只有一个摄像头(摄像装置)的情况下,在Android API中可以看到多个摄像头(第一虚拟摄像装置、第一虚拟摄像装置、第一虚拟摄像装置)存在,实际上在硬件上是同一个摄像头;

(2)应用可以使用不同的标识打开摄像头,每个标识指向同一个摄像头,每个虚拟摄像装置对应一个应用程序,这样两个应用程序都可以同时使用同一个摄像头;

(3)本方案通过在HAL中把摄像头采集的数据地址共享给虚拟摄像头,虚拟摄像头通过数据地址访问到摄像头的图像,Android原有的API保持不变的情况下,两个不同的应用可以共享同一个摄像头。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

android多个摄像头,一种基于Android多应用共享摄像头的系统及方法与流程相关推荐

  1. 语音识别维特比解码_一种基于维特比算法的花洒语音识别系统及方法与流程

    本发明涉及语音识别技术领域,具体涉及一种基于维特比算法的花洒语音识别系统及方法. 背景技术: 随着生活水平的提高和住房条件的改善,很多家庭都安装了沐浴设施,花洒是其中最常见的淋浴装置.目前花洒产品多为 ...

  2. 基于android的智能照明,一种基于Android、IOS与ZigBee的智能LED照明控制系统的制作方法...

    本发明涉及LED照明领域,尤其涉及一种基于Android.IOS与ZigBee的智能LED照明控制系统. 背景技术: 目前普遍使用的Android智能手机和平板电脑为智能家居照明系统提供了一个直观快捷 ...

  3. android开发 wifi功率,一种基于Android系统的功耗计算方法与流程

    本发明涉及系统功耗 技术领域: ,尤其涉及一种基于Android系统的功耗计算方法. 背景技术: :为了细粒度实时分析系统各部件以及应用程序的功耗特性,并且进一步挖掘用户的日常行为,我们需要建立功耗模 ...

  4. android智能识别技术,一种基于Android的智能心音听诊与识别系统

    主权项: 1. 一种基于Android的智能心音听诊与识别系统,其特征在于:包含心音采集设备以及Android手机,心音采集硬件设备由驻极体话筒.30Hz到500Hz滤波器.主控制芯片.蓝牙芯片模组. ...

  5. android 获取hdmi数据格式,一种基于Android系统HDMI同显时节省带宽的方法与流程

    本发明涉及一种基于Android系统HDMI同显时节省带宽的方法,属于计算机领域. 背景技术: 通常很多移动设备都配备了小尺寸的LCD屏幕,有些使用场景为了能提供更好的交互控制操作,需要移动设备在大尺 ...

  6. bim 导入unity_一种基于BIM和Unity3d的3D物联网可视化人机交互方法与流程

    本发明涉及到建筑工程领域和计算机软件领域,采用目前较为成熟的autodeskrevit平台进行3d模型的建立,unity3d平台进行交互设计,具体设计为一种基于unity3d和bim的3d物联网可视化 ...

  7. FLAC3D可视化后处理matlab,一种基于Matlab的由Midas导入Flac3D的模型识别方法与流程...

    本发明涉及岩土工程的仿真模拟研究领域,具体涉及一种基于Matlab的由Midas导入Flac3D的模型识别方法. 背景技术: 随着我国近几年经济的快速发展和基础设施等的大力投资,涉及复杂地质环境下的岩 ...

  8. python基于什么语言-一种基于Python语言的EDA开发平台及其使用方法与流程

    本发明涉及EDA开发的技术领域,尤其是指一种基于Python语言的EDA开发平台及其使用方法. 背景技术: 目前,主流的EDA设计语言Verilog HDL能实现完整的芯片硬件逻辑电路开发,但是其代码 ...

  9. java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...

    本发明属于知识服务领域,具体涉及一种基于交互式差分进化计算的用户知识需求获取方法. 背景技术: 在多数企业拥有庞大的知识数量和优质的知识资源的情况下,如何利用推送系统将知识主动推送给设计人员以提高企业 ...

最新文章

  1. 不用写代码就能做高端科学计算,Mathematica推出“人话”版软件
  2. php和python交互-Python如何实现简单的用户交互程序(示例)
  3. helm命令的基本使用
  4. 【小白学PyTorch】17.TFrec文件的创建与读取
  5. mysql不用limit怎么分页_mysql limit 分页的用法及注意要点
  6. find linux 指定后缀_linux下find(文件查找)命令的用法总结
  7. NSString 练习
  8. [react] 和Component两者的区别是什么
  9. python文件封装成jar_【Python】Python文件打包为可执行文件
  10. java 判断字符串是否汉子_java判断 字符串 是否有汉字
  11. ygbook和ptcms哪个好_长期更新,国内所有小说建站系统整理
  12. 搜狗微信公众号文章反爬虫完美攻克
  13. SAS2x28扩展卡
  14. 火车票订票小助手,帮助了很多同事和朋友,安全无毒
  15. python中 math.isfinite返回值为false_带有Python示例的math.isfinite()方法
  16. 众里寻她千百度,那人却在优衣库。
  17. 人工智能在生物学和神经科学中的应用
  18. 摄像头每路视频每天到底产生多少数据?
  19. 太空工程师-脚本-飞船姿态矫正
  20. 对提升仪表自控率的几点建议

热门文章

  1. 做电商直播,主流的直播平台有哪些呢?
  2. 11.Linux文件管理命令---diff比较两个文件
  3. 基于JavaWeb的事业单位公务员招考信息发布平台-考务考试报名系统
  4. 地牢逃脱-python
  5. 【搞一点AUTOSAR】MCAL-ADC转换请求和转换队列
  6. 双十一正式开售,黑科技满满的OPPO R17 Pro今起开启预售
  7. OpenCV C++人脸识别
  8. 看完你就懂了,企业上云为什么大势所趋...
  9. 在omap上存储和获取文件
  10. 并集、交集、差集 Sql总结