摄像头调用实现方法、装置及电子设备与流程

专利2022-05-09  44



1.本申请主要涉及摄像头应用领域,更具体地说是涉及一种摄像头调用实现方法、装置及电子设备。


背景技术:

2.目前,在如手机、平板电脑等电子设备中,为了满足应用需求,通常配置有多颗摄像头,如前置摄像头和后置摄像头、双后置摄像头、四摄像头等,以满足电子设备安装的各应用程序的调用需求。
3.在实际应用中,对于电子设备安装的某些应用程序,如市面上大部分用户使用的各社交应用程序等,通常是针对具有前置和后置两类摄像头的电子设备机型设计,这样,对于未配置这两类摄像头的电子设备上的应用程序,将无法成功调用所需的摄像头,影响了应用程序相应应用功能的正常使用。


技术实现要素:

4.有鉴于此,本申请提供了以下技术方案:
5.一方面,本申请提出了一种摄像头调用实现方法,所述方法包括:
6.获得第一应用的摄像头调用请求;
7.确定与所述摄像头调用请求相匹配的虚拟摄像头,所述虚拟摄像头为至少基于所述电子设备硬件摄像头信息进行构建的软件定义摄像头;
8.响应所述摄像头调用请求,调用所述虚拟摄像头运行。
9.在一些实施例中,所述方法还包括:
10.检测电子设备是否具有所请求调用的目标摄像头;
11.若电子设备不具有所请求调用的目标摄像头,确定所述目标摄像头的第一类别信息,以及所述电子设备的硬件摄像头配置信息;
12.依据所述第一类别信息及所述摄像头配置信息,构建与所述摄像头调用请求相匹配的虚拟摄像头。
13.在一些实施例中,所述方法还包括:
14.依据电子设备的硬件摄像头配置信息,确定所述电子设备所具有的摄像头的第二类别信息;
15.检测所述第二类别信息是否满足应用调用条件,所述应用调用条件基于所述电子设备所安装的各应用的摄像头调用要求确定;
16.如果不满足,输出虚拟摄像头构建页面;
17.响应于对所述虚拟摄像头构建页面的确定构建操作,依据所述硬件摄像头配置信息,构建满足所述应用调用条件的虚拟摄像头;
18.所述确定与所述摄像头调用请求相匹配的虚拟摄像头,包括:
19.确定所述摄像头调用请求对应的第一应用调用条件;
20.从构建的满足不同所述应用调用条件的虚拟摄像头中,选定满足所述第一应用调用条件的虚拟摄像头。
21.在一些实施例中,所述方法还包括:
22.获取所述电子设备的硬件摄像头配置信息;
23.利用所述硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息;
24.执行所述系统软件配置信息,构建基于硬件摄像头的虚拟摄像头;
25.所述确定与所述摄像头调用请求相匹配的虚拟摄像头,包括:
26.从构建的所述虚拟摄像头中,选定与所述摄像头调用请求相匹配的虚拟摄像头。
27.在一些实施例中,所述利用所述硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息,包括:
28.依据所述硬件摄像头配置信息,确定所述电子设备的驱动层、系统层及应用层各自针对所要构建的虚拟摄像头对应的软件逻辑信息;
29.所述执行所述系统软件配置信息,构建基于硬件摄像头的虚拟摄像头,包括:
30.基于所述电子设备所具有的硬件摄像头在硬件层的硬件配置信息,控制所述驱动层、所述系统层及所述应用层执行所确定的相应的所述软件逻辑信息,模拟得到虚拟摄像头。
31.在一些实施例中,在所述电子设备具有所请求调用的目标摄像头的情况下,所述方法还包括:
32.若所述目标摄像头为硬件摄像头,响应所述摄像头调用请求,启动所述硬件摄像头,将所述硬件摄像头采集到的第一图像信息发送至所述第一应用;
33.若所述目标摄像头为虚拟摄像头,调用所述虚拟摄像头运行过程中,所述虚拟摄像头能够利用所述电子设备具有的硬件摄像头,采集所述第一应用所需的第二图像信息,所述第二图像信息包括所述硬件摄像头相对于预设状态镜像或旋转后采集到的图像。
34.在一些实施例中,在所述电子设备不具有所请求调用的目标摄像头,或者所述目标摄像头为虚拟摄像头的情况下,所述方法还包括:
35.输出所述第一应用所请求调用的摄像头是否切换为硬件摄像头的提示信息;
36.响应基于所述提示信息输入的确认切换指令,确定针对所述第一应用所选择的硬件摄像头;
37.在响应所述摄像头调用请求的情况下,启动所确定的所述硬件摄像头,将所述硬件摄像头采集到的第一图像信息发送至所述第一应用。
38.又一方面,本申请还提出了一种摄像头调用实现装置,所述装置包括:
39.摄像头调用请求获得模块,用于获得第一应用的摄像头调用请求,
40.虚拟摄像头确定模块,用于确定与所述摄像头调用请求相匹配虚拟摄像头,所述虚拟摄像头为至少基于所述电子设备硬件摄像头信息进行构建的软件定义摄像头;
41.摄像头调用模块,用于响应所述摄像头调用请求,调用所述虚拟摄像头运行。
42.又一方面,本申请还提出了一种电子设备,所述电子设备包括:
43.显示模组;硬件摄像头;
44.存储器,用于存储实现如上述的摄像头调用实现方法的程序;
45.处理器,用于加载并执行所述存储器存储的所述程序,以实现如上述的摄像头调用实现方法的各步骤。
46.在一些实施例中,所述硬件摄像头的图像采集方向与所述显示模组的内容显示方向一致。
47.由此可见,本申请提出了一种摄像头调用实现方法、装置及电子设备,在电子设备的第一应用运行发起摄像头调用请求的情况下,即便电子设备并未配置与该摄像头调用请求相匹配的硬件摄像头,处理器获得该第一应用的摄像头调用请求后,仍可以确定该摄像头调用请求相匹配的虚拟摄像头,从而在响应该摄像头调用请求过程中,能够调用所确定的该虚拟摄像头运行,来满足第一应用的摄像头调用需求,保证第一应用正常运行,满足用户对第一应用的使用需求。
附图说明
48.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
49.图1为本申请提出的摄像头调用实现方法的一可选示例的流程示意图;
50.图2为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图;
51.图3为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图;
52.图4为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图;
53.图5为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图;
54.图6为本申请提出的摄像头调用实现装置的一可选示例的结构示意图;
55.图7为本申请提出的摄像头调用实现装置的又一可选示例的结构示意图;
56.图8为本申请提出的摄像头调用实现装置的又一可选示例的结构示意图;
57.图9为本申请提出的摄像头调用实现装置的又一可选示例的结构示意图;
58.图10为适用于本申请提出的摄像头调用实现方法和装置的电子设备的一可选示例的硬件结构示意图。
具体实施方式
59.针对背景技术部分描述的技术问题,在电子设备已有的硬件摄像头无法满足应用程序的摄像头调用需求,会导致该应用程序无法正常运行或无法使用其相应应用功能(如社交软件的扫描功能、视频聊天功能等)的情况下,本申请提出在电子设备中构建虚拟摄像头,即至少基于电子设备硬件摄像头信息进行构建的软件定义摄像头,从而调用该虚拟摄像头,满足该应用程序的摄像头调用需求,保证该应用程序的正常运行,正常使用其相应应用功能。
60.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
61.需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
62.应当理解,本申请中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
63.如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
64.其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
65.另外,本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
66.参照图1,为本申请提出的摄像头调用实现方法的一可选示例的流程示意图,该方法可以适用于具有硬件摄像头的电子设备,如智能手机、平板电脑、上网本等电子设备,本申请对该电子设备的产品类型不做限制,可视情况而定。如图1所示,本实施例提出的摄像头调用实现方法可以包括:
67.步骤s11,获得第一应用的摄像头调用请求;
68.在实际应用中,结合上文相应部分的描述,用户使用电子设备的某一些应用程序时,受限于这些应用程序的开发商对其运行或某些应用功能实现的约束条件,通常需要依赖电子设备所配置的某些硬件,支持该应用程序的正常启动运行,或支持这些应用功能的正常启动,满足实际需求。
69.本申请实施例中,主要对依赖电子设备所配置的摄像头组件,正常运行或正常启动某应用功能工作的一类应用程序,来说明用户使用这类应用程序过程中,如何实现对电子设备的摄像头调用,满足该应用程序的需求,保证应用程序正常工作。因此,上述第一应用可以是这类应用程序的任一应用程序,本申请对第一应用程序的具体应用类别及其功能不做限制。
70.这样,在用户需要使用电子设备中的第一应用的情况下,启动该第一应用过程中,或者是在启动第一应用后,触发该第一应用的某一应用功能,如社交软件的扫描功能、视频聊天功能等,按照第一应用开发商预设的约束条件,需要先触发电子设备的摄像头启动,成功调用该摄像头后,才能够保证第一应用正常运行,满足用户对第一应用的使用需求。
71.因此,在如上文描述的第一应用触发过程中,可以生成针对第一应用的摄像头调
用请求,即请求调用电子设备的摄像头,来满足第一应用的运行需求,具体可以是该第一应用的某一应用功能的使用需求,电子设备的处理器(如cpu等)将会监测到这一摄像头调用请求,以便按照如下操作步骤执行,以满足第一应用的摄像头调用需求。
72.其中,上述摄像头调用请求可以携带有第一应用的应用标识,以使电子设备的处理器可以依据该应用标识,确定第一应用的应用类别,甚至可以按照预设规则,进一步确定该第一应用需要调用的摄像头类型,如电子设备的前置摄像头、后置摄像头等。本申请对该摄像头调用请求包含的内容,以及处理器依据该摄像头调用请求包含的内容所执行的后续步骤不做限制,可视情况而定,本申请实施例在此不做一一详述。
73.步骤s12,确定与该摄像头调用请求相匹配的虚拟摄像头;
74.本申请实施例的虚拟摄像头为至少基于电子设备硬件摄像头信息进行构建的软件定义摄像头,所以说,若需要使用该虚拟摄像头进行图像采集,需要借助该硬件摄像头完成,具体实现过程本申请不做详述,且本申请对该虚拟摄像头的构建方法不做限制。
75.需要说明,本申请实施例主要对电子设备当前配置的硬件摄像头,无法直接满足第一应用的摄像头调用请求的场景下,如按照应用开发商的设定,第一应用运行或某应用功能执行,需要调用后置摄像头运行,但当前电子设备仅配置有前置的硬件摄像头等场景,可以执行本申请提出的摄像头调用实现方法,以调用该电子设备中创建的虚拟摄像头,满足第一应用的摄像头调用需求,保证第一应用正常工作。
76.基于上述分析,电子设备的处理器监测到第一应用的摄像头调用请求后,可以确定电子设备中,与该摄像头调用请求相匹配的虚拟摄像头,仍以上文列举的场景为例,可以利用电子设备配置的前置硬件摄像头,构建后置虚拟摄像头,这样,可以通过分析第一应用的摄像头调用请求的内容,确定第一应用所需的前置虚拟摄像头。
77.可以理解,对于其他配置结构的电子设备,如仅配置有后置摄像头的电子设备,第一应用的某一应用功能需要对使用用户进行人脸识别,以验证该用户身份是否合格的场景下,在启动该应用功能时,通常需要调用电子设备的前置摄像头,来对使用该电子设备的用户进行人脸采集及识别。但由于该电子设备仅配置有后置硬件摄像头,这就需要确定该电子设备构建的前置虚拟摄像头。
78.需要说明,对于电子设备的硬件摄像头配置以及摄像头调用请求内容,并不局限于上文列举的场景实现过程,可视情况而定,本申请在此不做一一列举。
79.步骤s13,响应该摄像头调用请求,调用虚拟摄像头运行。
80.继上文米描述,在确定电子设备中,能够满足第一应用的摄像头调用需求的虚拟摄像头的情况下,再响应该摄像头调用请求,完成对所确定的虚拟摄像头的调用,以满足用户对第一应用的使用需求。
81.若按照上述方式,确定电子设备不具有与第一应用的摄像头调用请求相匹配的硬件摄像头和虚拟摄像头的情况下,本申请可以至少基于电子设备当前所具有的硬件摄像头,来构建与该摄像头调用请求相匹配的虚拟摄像头,具体构建过程本申请实施例在此不做详述。之后,再调用所构建的虚拟摄像头,保证第一应用正常运行。
82.在一些实施例中,在获得第一应用的摄像头调用请求后,本申请还可以在响应该摄像头调用请求过程中,按照上述方式,确定与其相匹配的虚拟摄像头,调用该虚拟摄像头运行,实现对该摄像头调用请求的成功响应;若未确定与其相匹配的虚拟摄像头,或是确定
虚拟摄像头后,未成功调用虚拟摄像头,说明对该摄像头调用请求响应失败,可以输出相应的提示信息,以提醒用户手动触发第一应用,重新请求调用摄像头;或触发构建虚拟摄像头等,具体实现方式可以依据应用场景需求确定,本申请对此不做限制。
83.可以理解,在实际应用中,在电子设备具有与摄像头调用请求相匹配的硬件摄像头的情况下,响应该摄像头调用请求,将直接调用该硬件摄像头工作,满足第一应用的摄像头调用需求;但在电子设备不具有与摄像头调用请求相匹配的硬件摄像头的情况下,可以按照上述方式确定与该摄像头调用请求相匹配的虚拟摄像头,调用该虚拟摄像头运行,以保证第一应用的正常工作。
84.综上所述,在本申请实施例中,电子设备的处理器获得第一应用的摄像头调用请求后,即便电子设备并未配置有与该摄像头调用请求相匹配的硬件摄像头,仍可以确定该摄像头调用请求相匹配的虚拟摄像头,在响应该摄像头调用请求过程中,可以调用所确定的该虚拟摄像头运行,来满足第一应用的摄像头调用需求,保证第一应用正常运行,满足用户对第一应用的使用需求。
85.参照图2,为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图,本申请实施例可以是对上述实施例描述的摄像头调用实现方法的一可选细化实现方法,如图2所示,该方法可以包括:
86.步骤s21,获得第一应用的摄像头调用请求;
87.步骤s22,检测电子设备是否具有该第一应用所请求调用的目标摄像头,若是,执行步骤s25;若否,进入步骤s23;
88.结合上文相应部分的描述,步骤s22所检测的第一应用所请求调用的目标摄像头,即为与获得的摄像头调用请求相匹配的摄像头,其可以是电子设备所配置的硬件摄像头或虚拟摄像头,本申请对步骤s22中的目标摄像头的摄像头类别不做限制。
89.在一些实施例中,经过上述检测,确定电子设备同时具有与摄像头调用请求相匹配的硬件摄像头和虚拟摄像头,可以优先选择该硬件摄像头为目标摄像头,在没有配置该硬件摄像头的情况下,再确定该虚拟摄像头为目标摄像头;当然,对于硬件摄像头和虚拟摄像头的使用优先级,也可以依据实际场景进行调整,并不局限于本实施例描述的这种优先级排序方式。
90.步骤s23,确定所请求调用的目标摄像头的第一类别信息,以及电子设备的硬件摄像头配置信息;
91.继上文描述,检测到电子设备当前配置无法满足第一应用的摄像头调用需求,即电子设备不具有第一应用所请求调用的任一类别的目标摄像头,在不改变电子设备的硬件配置的情况下,本申请提出构建相应类别的虚拟摄像头,来满足第一应用的摄像头调用需求。
92.因此,本申请可以解析所获得的摄像头调用请求,得到第一应用请求调用的摄像头的类别,记为第一类别信息,如第一应用请求调用的摄像头是电子设备的前置摄像头,还是后置摄像头,或者是其他类别的摄像头等,本申请对不同类别的摄像头的类别表示方式不做限制,即对第一类别信息的内容不做限制,如采用特定的编号、摄像头安装位置、图像采集方向、类别文字说明等,可视情况而定。
93.结合上文对虚拟摄像头的描述,其是至少基于电子设备硬件摄像头信息进行构建
的软件定义摄像头,也就是说,该虚拟摄像头需要基于电子设备当前配置有的硬件摄像头构建得到,因此,本申请需要检测本电子设备自身所具有的硬件摄像头配置信息,其可以包括硬件摄像头的安装位置、摄像头类别、支持该硬件摄像头的软件配置,如驱动(driver)层及其以上层,如应用层中配置的数据软件逻辑等,由此得知在本电子设备中,支持其具有的硬件摄像头正常工作所需要的配置信息内容,本申请对硬件摄像头配置信息的具体内容不做限制。
94.可以理解,对于不同类别的电子设备,以及同一类型电子设备所配置的不同类别的硬件摄像头,其具有的硬件摄像头配置信息的内容可能不同,因此,本申请在配置虚拟摄像头之前,可以实际检测本电子设备所具有的硬件摄像头配置信息,具体检测方法本申请在此不做限制。
95.在一些实施例中,可以利用本电子设备操作系统所支持的,实现硬件设备检测的prode机制,如一种动态地收集调试和性能信息的工具,来检测电子设备的硬件摄像头配置信息,具体实现过程本申请不做详述,且并不局限于这种检测方法。
96.步骤s24,依据该第一类别信息及摄像头配置信息,构建与该摄像头调用请求相匹配的虚拟摄像头,以该虚拟摄像头作为目标摄像头;
97.步骤s25,响应摄像头调用请求,调用该目标摄像头运行。
98.本申请实施例中,可以按照本电子设备的如上述probe机制,参照电子设备已有硬件摄像头的配置信息,即其在如驱动层、应用层等各层配置的软件逻辑,结合需要构建的虚拟摄像头所具有的区别于该硬件摄像头的功能,在如驱动层、应用层等不同系统层上,配置该虚拟摄像头工作所需的另一套软件逻辑,借助该硬件摄像头模拟得到一颗虚拟摄像头,但并不局限于这种虚拟摄像头构建方法。
99.其中,相对于电子设备所具有的硬件摄像头,如前置硬件摄像头,本申请实施例所构建的虚拟摄像头,可能还会配置实现旋转、镜像等功能的软件逻辑配置,本申请对支持这些功能实现的软件逻辑内容不做限制。
100.可见,在电子设备仅具有一颗硬件摄像头的情况下,本申请实施例按照上述方式,如利用probe机制,在驱动层、应用层等各层上,实现至少两套初始化后配置的软件逻辑,得到不同的摄像头配置,如针对这一颗硬件摄像头的配置信息,以及针对一颗或多颗虚拟摄像头的配置信息。也就是说,通过检测这一颗硬件摄像头,通过软件赋予不同实例,可以达到模拟一颗或多颗摄像头的目的,即构建一颗或多颗虚拟摄像头。
101.之后,在响应第一应用的摄像头调用请求时,电子设备可以将本次所构建的一虚拟摄像头确定为目标摄像头,调用该虚拟摄像头运行,即基于所具有的硬件摄像头,运行所构建的该虚拟摄像头对应的一套软件逻辑数据,满足第一应用的摄像头调用需求,保证第一应用正常运行,本申请对虚拟摄像头的具体工作过程不做详述。
102.综上,本申请实施例中,在第一应用请求调用电子设备的摄像头的情况下,电子设备的处理器得到第一应用的摄像头调用请求,若确定电子设备具有请求调用的目标摄像头,将直接调用该目标摄像头运行,若确定电子设备不具有请求调用的目标摄像头,本申请将依据请求调用的目标摄像头的第一类别信息,以及电子设备所具有的硬件摄像头配置信息,在线构建与该摄像头调用请求相匹配的虚拟摄像头,从而以此作为目标摄像头,由第一应用调用运行,保证第一应用正常工作,解决电子设备不具有第一应用请求调用摄像头,导
致第一应用无法继续运行或某一应用功能无法实现的技术问题。
103.参照图3,为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图,结合上文实施例描述的摄像头调用实现方法,为了满足不同应用对不同类型摄像头的调用需求,在电子设备未配置各类型的硬件摄像头的情况下,通常需要构建相应类型的虚拟摄像头,以保证需要调用该虚拟摄像头所属摄像头类别的应用程序能够正常运行,满足用户对其使用需求。可以理解,该虚拟摄像头构建过程,可以在未出现对其将要构建的虚拟摄像头的调用需求的情况下,提前构建完成,如出厂前或出厂后触发相应的功能按钮实现,但并不局限于这种触发构建方式;也可以在出现对某一类型的虚拟摄像头的调用需求后,再针对该调用需求,构建相应的虚拟摄像头等,本申请对虚拟摄像头的构建执行阶段不做限制,可视情况而定。
104.因此,本申请实施例可以对如何构建虚拟摄像头的实现方法进行描述,主要是在未接收到任一摄像头调用请求的情况下,执行本实施例的构建方法,构建一个或多个虚拟摄像头。如图3所示,该方法可以包括:
105.步骤s31,依据电子设备的硬件摄像头配置信息,确定电子设备所具有的摄像头的第二类别信息;
106.步骤s32,检测第二类别信息是否满足应用调用条件,如果满足,结束流程;如果不满足,进入步骤s33;
107.结合上文实施例对构建虚拟摄像头相应部分的描述,虚拟摄像头的构建通常是依据电子设备所具有的硬件摄像头的软件配置信息实现的,且对于构建的虚拟摄像头,通常是区别于该硬件摄像头所属类别的另一类别的摄像头,以解决电子设备因不具有该另一类别的硬件摄像头所存在的技术问题,如电子设备具有前置硬件摄像头的情况下,可以构建后置虚拟摄像头,满足电子设备使用过程中,应用对该后置摄像头的调用需求。
108.因此,本申请可以获取本电子设备所有的硬件摄像头配置信息,从而依据该硬件摄像头配置信息,确定电子设备当前所具有的摄像头的第二类别信息,即确定电子设备当前已具有哪些类别的摄像头,此处主要是指硬件摄像头,当然也可以包括已构建的虚拟摄像头,本申请对此不做限制。
109.在一些实施例中,对于用户使用的电子设备所具有的硬件摄像头的类别,用户可以直观看到,且可以依据实际应用需求,确定是否需要该电子设备构建虚拟摄像头,若需要构建虚拟摄像头,可以进入电子设备的设置界面,将虚拟摄像头的构建功能按键,从禁用状态切换到启动状态,从而执行本申请实施例提出的虚拟摄像头构建方法,构建所需的虚拟摄像头。
110.当然,对于虚拟摄像头构建功能的触发,并不局限于上文描述的对构建功能按键的操作方式,也可以由电子设备按照本实施例描述的这种方式,检测电子设备当前具有的摄像头的第二类别信息不满足应用调用条件的情况下,主动提示用户是否构建相应的虚拟摄像头。
111.其中,上述应用调用条件可以基于电子设备所安装的各应用的摄像头调用要求确定。结合上文应用调用摄像头的相关内容的描述,一些应用启动运行或其某一些应用功能的启动运行,通常需要调用特定的一种或多种类型的摄像头运行后,才能够保证这一些应用或其某一些应用功能正常使用,所以说,对于不同应用来说,其所需要调用的摄像头的类
别可能不同,使得不同应用对应的应用调用条件的内容不同,这通常依据各应用的开发者配置确定,本申请在此对各应用的应用调用条件的内容不做详述。
112.可见,在获取电子设备所具有的需要调用摄像头的各应用分别对应的应用调用条件,由各应用调用条件的内容,确定相应应用所需调用的摄像头类别后,可以将其与电子设备已有摄像头的第二类别信息进行比对,以确定电子设备已有摄像头是否能够满足各应用的摄像头调用需求,若能够满足,可以不用再构建虚拟摄像头,直接结束流程。
113.可以理解,若电子设备安装新应用后,其具有的应用调用条件可能区别于已有应用的应用调用条件,此时可以按照上述方式,来确定电子设备的第二类别信息是否满足该新应用的应用调用条件,或者先将该新应用的应用调用条件,与已有应用的应用调用条件进行比对,若该新应用所调用的摄像头类别,与已有应用所需调用摄像头的类别均不同,再构建满足新应用摄像头调用需求的虚拟摄像头,这种情况下的构建过程可以参照上述实施例相应部分的描述,本实施例不做赘述。
114.步骤s33,输出虚拟摄像头构建页面;
115.步骤s34,响应于对虚拟摄像头构建页面的确定构建操作,依据硬件摄像头配置信息,构建满足应用调用条件的虚拟摄像头;
116.继上文描述,按照上述检测确定电子设备已有摄像头,无法满足其按照的各应用的摄像头调用需求,需要构建虚拟摄像头,这种情况下,可以基于上述检测结果直接输出虚拟摄像头构建页面,即提醒用户构建虚拟摄像头,以满足应用需求的提示页面,用户可以根据实际情况,来选择当前是否要构建虚拟摄像头。
117.若用户想要当前构建虚拟摄像头,可以在虚拟摄像头构建页面中,选择确认构建虚拟摄像头对应的功能按钮,以使电子设备的处理器执行虚拟摄像头的构建程序,即依据硬件摄像头配置信息,构建满足应用调用条件的虚拟摄像头,具体构建过程可以参照上述实施例相应部分的描述,本实施例在此不做赘述。
118.在一些实施例中,由于虚拟摄像头构建过程会占用电子设备的一些资源,影响电子设备其他应用的运行情况,用户收到上述构建虚拟摄像头的提示信息后,可以在上述虚拟摄像头构建页面中,设定执行虚拟式摄像构建程序的时间点,这样,在系统时间达到设定的该时间点时,将触发执行虚拟摄像头的构建,以此来保证电子设备的其他应用运行的可靠性,提高用户对其他应用的操作体验。当然,根据实际情况,用户也可以选择不构建虚拟摄像头,接触后续流程,本申请对虚拟摄像头构建页面的具体操作内容不做限制,可视情况而定。
119.步骤s35,获得第一应用的摄像头调用请求;
120.步骤s36,确定该摄像头调用请求对应的第一应用调用条件;
121.步骤s37,从构建的满足不同应用调用条件的虚拟摄像头中,选定满足第一应用调用条件的虚拟摄像头;
122.步骤s38,响应摄像头调用请求,调用该虚拟摄像头运行。
123.本申请实施例中,按照上述步骤s31~步骤s34的方式,预先构建一颗或多颗虚拟摄像头之后,若用户查看电子设备的系统配置页面,可以展示电子设备当前所具有的摄像头数量及类别,用户可以根据需要选择一颗或多个摄像头处于可启用状态,同时,也可以控制一颗或多颗摄像头处于禁用状态,以禁止应用调用处于禁用状态的摄像头。本申请对摄
像头的使用状态的切换控制方式不做限制。
124.其中,对于禁用的摄像头,当用户使用电子设备的某一应用,该应用需要调用这类摄像头的情况下,可以输出是否开启该摄像头的提示信息,用户再根据需求启用该摄像头,满足该应用的摄像头调用需求,具体实现过程申请不做详述。
125.如上述步骤描述,在电子设备具有多种类别的摄像头之后,若获得第一应用的摄像头调用请求,可以依据该摄像头调用请求,来确定第一应用需要调用哪个摄像头,具体可以通过将该摄像头调用请求的内容,确定该第一应用的第一应用调用条件,之后,由于本申请按照上述方式,已构建有满足电子设备各应用的应用调用条件的摄像头,所以,本实施例可以依据各应用调用条件与各摄像头的调用关系,来确定第一应用调用条件所对应的摄像头,从而调用该摄像头运行,保证第一应用正常运行。
126.其中,本申请所确定的第一应用调用条件所对应的摄像头,可以是电子设备所具有的硬件摄像头或虚拟摄像头,具体可以依据该第一应用调用条件的内容确定,本申请实施例主要对电子设备不具有第一应用需要的硬件摄像头,只能调用预先构建的满足该第一应用的摄像头调用需求的虚拟摄像头的场景进行描述,因此,上述步骤s37和步骤s38选定并调用的摄像头是虚拟摄像头。
127.可以理解,若满足第一应用调用条件的摄像头是硬件摄像头,在响应摄像头调用请求时,将直接调用该硬件摄像头运行,实现过程类似,本申请不做详述。
128.综上,本申请实施例中,可以针对电子设备已有应用的应用调用条件,在电子设备所具有的硬件摄像头无法满足各应用调用条件的情况下,可以预先构建能够满足相应应用调用条件的虚拟摄像头,这样,后续使用电子设备的任一应用过程中,若电子设备的硬件摄像头无法满足该应用的摄像头调用需求,本申请实施例不需要花费一定时长,在线构建满足该应用的摄像头调用需求的虚拟摄像头,可以直接从已构建的虚拟摄像头中,调用满足该应用的摄像头调用需求,满足该应用的应用调用条件的虚拟摄像头运行,提高了应用反映及时性,减少了用户使用该应用调用摄像头过程中的等待时间,提升了用户体验。
129.参照图4,为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图,区别于上文实施例描述的虚拟摄像头的预构建方式,以及基于构建的虚拟摄像头调用运行方式,但并不局限于本实施例描述的虚拟摄像头调用方法。如图4所示,本实施例提出的摄像头调用实现方法可以包括但并不局限于以下步骤:
130.步骤s41,获取电子设备的硬件摄像头配置信息;
131.步骤s42,利用硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息;
132.步骤s43,执行系统软件配置信息,构建基于硬件摄像头的虚拟摄像头;
133.结合上文对虚拟摄像头构建过程的相关描述,由于虚拟摄像头为至少基于电子设备硬件摄像头信息进行构建的软件定义摄像头,通过对电子设备当前配置的硬件摄像头的配置信息检测,得到硬件摄像头配置信息后,确定实现区别于该硬件摄像头类别的另一类别摄像头应该具有的差异功能,如摄像头旋转、镜像等功能,可以参照该硬件摄像头的在各层的软件逻辑数据内容,基于该硬件摄像头的硬件层,在如驱动层、应用层等配置支持该另一类别摄像头功能实现所需的软件逻辑数据,即系统软件配置信息,之后,再据此构建基于硬件摄像头的虚拟摄像头。
134.由此可见,在一些实施例中,上述步骤s42和步骤s43具体可以包括:依据硬件摄像头配置信息,确定电子设备的驱动层、系统层及应用层各自针对所要构建的虚拟摄像头对应的软件逻辑信息,从而基于电子设备所具有的硬件摄像头在硬件层的硬件配置信息,控制驱动层、系统层及应用层执行所确定的相应的软件逻辑信息,模拟得到虚拟摄像头,但并不局限于这种实现方法。
135.步骤s44,获得第一应用的摄像头调用请求;
136.步骤s45,从构建的虚拟摄像头中,选定与摄像头调用请求相匹配的虚拟摄像头;
137.步骤s46,响应该摄像头调用请求,调用该虚拟摄像头运行。
138.需要说明,本申请实施例是在电子设备不具有第一应用所请求调用的硬件摄像头的场景下实现,所以,在得到第一应用的摄像头调用请求后,可以从构建的虚拟摄像头中,调用与该摄像头调用请求相匹配的虚拟摄像头运行。当然,本申请也可以按照上述方式,直接检测与该第一应用的摄像头调用请求相匹配的目标摄像头,如硬件摄像头或虚拟摄像头,调用该目标摄像头运行,保证第一应用正常运行。
139.可见,对于电子设备受限于自身厚度等因素,导致无法安装多种类型的摄像头,如无法同时配置前置摄像头和后置摄像头(此处都是指硬件摄像头),仅配置有一颗硬件摄像头的场景下,该电子设备将无法使用需要调用其未安装的另一类别的硬件摄像头的第三方应用,即电子设备所具有的硬件摄像头与某些应用不适配。本申请为了解决该问题,提出构建另一类型的虚拟摄像头,来满足与已有硬件摄像头不适配的应用的摄像头调用需求,保证电子设备安装的多类应用的正常运行,满足用户对不同应用的使用需求。
140.参照图5,为本申请提出的摄像头调用实现方法的又一可选示例的流程示意图,本实施例可以适用于按照上文各实施例描述的摄像头调用实现方法,在电子设备构建虚拟摄像头的场景,当然,也可以结合上文各实施例描述的摄像头调用实现方法描述的虚拟摄像头构建方法,执行本实施例描述的摄像头调用实现方法过程中,完成虚拟摄像头的构建,本申请对此不做限制,可视情况而定。
141.如图5所示,本实施例提出的摄像头调用实现方法可以包括:
142.步骤s51,获得第一应用的摄像头调用请求;
143.步骤s52,确定与该摄像头调用请求相匹配的摄像头为虚拟摄像头;
144.本申请实施例中,电子设备的处理器获得第一应用的摄像头调用请求后,可以检测电子设备是否具有第一应用请求调用的目标摄像头,若具有第一应用请求调用的目标摄像头,且该目标摄像头为硬件摄像头,可以响应摄像头调用请求,启动该硬件摄像头,将硬件摄像头采集到的第一图像信息发送至第一应用,满足第一应用的需求。
145.若具有第一应用请求调用的目标摄像头,但该目标摄像头为虚拟摄像头,可以按照上述方式,直接调用该虚拟摄像头运行,若此时需要进行图像采集,将是利用构建该虚拟摄像头所依据的硬件摄像头实现,也就是说,虚拟摄像头能够利用电子设备具有的硬件摄像头,采集第一应用所需的第二图像信息,该第二图像信息可以包括硬件摄像头相对于预设状态镜像或旋转后采集到的图像,具体可以依据该虚拟摄像头配置的软件逻辑数据内容,确定该虚拟摄像头所具有的功能,进而确定该第二图像信息可能包含的内容。
146.其中,在虚拟摄像头利用电子设备具有的硬件摄像头进行图像采集时,若该硬件摄像头的镜头无法旋转,所采集到的图像内容将是该硬件摄像头的镜头对应的图像采集范
围内的内容,若需要采集相反方向的对象图像,需要用户调整电子设备拍摄方向,将该硬件摄像头的镜头朝向该对象,才能够采集到所需对象图像。
147.示例性的,若电子设备仅具有前置硬件摄像头,构建了虚拟后置摄像头,在第一应用使用过程中,需要扫描某一物体上的二维码时,但预先配置的第一应用调用的摄像头是该虚拟后置摄像头,这种情况下,为了满足第一应用的图像采集需求,需要进一步触发前置硬件摄像头启动运行,这样,将电子设备翻转(相对于默认使用状态),以使电子设备的前置硬件摄像头的镜头朝向该二维码,完成图像扫描过程。
148.因此,为了这类第一应用的图像采集需求,确定第一应用调用的目标摄像头是虚拟摄像头情况下,可以提醒用户将第一应用调用的摄像头更改为电子设备已有的硬件摄像头,如将预先配置的该第一应用调用的虚拟后置摄像头,更改为后置硬件摄像头。
149.另外,若电子设备不具有第一应用请求调用的目标摄像头,也就是说,按照预先配置的各应用与各摄像头之间的调用关系,电子设备不具有与该第一应用的摄像头调用请求相匹配的摄像头,可以按照上述方式,构建虚拟摄像头,以满足第一应用的调用需求。当然,也可以提醒用户选择电子设备已有的硬件摄像头,来满足第一应用的摄像头调用需求。
150.在一些实施例中,本申请依据摄像头调用请求,确定请求调用的摄像头id后,该摄像头id可以通过sdk(software development kit,软件开发工具包),传入hal(hardware abstraction layer,硬件抽象层,即用户空间,通常情况下,厂家可以将核心的代码实现在hal层,无需对外开放源代码)中,从而在该hal层判断该摄像头id指代的用户意图(如需要采集哪个方向的图像等),即用户使用第一应用希望启动的是硬件摄像头,还是说该摄像头id是不存在的硬件摄像头或虚拟摄像头。
151.之后,按照上述分析,若意图启动硬件摄像头,可以直接启动硬件摄像头,将其采集到的图像信息发送至第一应用;反之,可以构建所需的虚拟摄像头,并输出相应的提示信息,以告知用户电子设备不具有第一应用所需的硬件摄像头。
152.步骤s53,输出第一应用所请求调用的摄像头是否切换为硬件摄像头的提示信息;
153.步骤s54,响应基于提示信息输入的确认切换指令,确定针对第一应用所选择的硬件摄像头;
154.继上述分析,在用户使用第一应用过程中,意图启动的硬件摄像头不存在,或所确定的满足第一应用的摄像头调用请求的摄像头为虚拟摄像头的情况下,本申请仍可以进一步输出引导用户启动已有硬件摄像头的提示信息,该提示信息可以展示在第一应用的应用界面,具体展示方式及内容不做限制。
155.这样,用户可以依据实际需求,选择是否要将第一应用所请求调用的摄像头,切换为电子设备当前具有的硬件摄像头,选择确认切换后,将该硬件摄像头更新为与第一应用的摄像头调用请求相匹配的目标摄像头,后续再使用该第一应用,可以直接调用本次切换的硬件摄像头,保证该第一应用正常运行。
156.在一些实施例中,用户收到步骤s53的提示信息后,可以选择不切换,电子设备的处理器接收到不切换的确认指令后,可以按照上述方式,构建虚拟摄像头,来保证第一应用正常运行,具体实现过程本申请不做详述。
157.步骤s55,响应摄像头调用请求,启动所确定的硬件摄像头,将硬件摄像头采集到的第一图像信息发送至第一应用。
158.综上,在本申请实施例中,电子设备获得第一应用的摄像头调用请求后,由此确定该第一应用预先配置调用的摄像头不存在,或预先配置调用的摄像头是虚拟摄像头的情况下,为了满足第一应用的图像采集需求,可以提示用户切换到电子设备具有的硬件摄像头调用,从而将该硬件摄像头采集到的图像信息发送至第一应用,保证第一应用正常运行,解决了因电子设备不具有各种类型的硬件摄像头,无法启动所需硬件摄像头,导致第一应用运行出错的问题,提升了电子设备的兼容性,进而提升了用户体验。
159.参照图6,为本申请提出的摄像头调用实现装置的一可选示例的结构示意图,该装置可以适用于如上述电子设备,如图6所示,该装置可以包括:
160.摄像头调用请求获得模块61,用于获得第一应用的摄像头调用请求,
161.虚拟摄像头确定模块62,用于确定与所述摄像头调用请求相匹配虚拟摄像头,所述虚拟摄像头为至少基于所述电子设备硬件摄像头信息进行构建的软件定义摄像头;
162.摄像头调用模块63,用于响应所述摄像头调用请求,调用所述虚拟摄像头运行。
163.在一些实施例中,如图7所示,上述摄像头调用实现装置还可以包括:
164.第一检测模块64,用于检测电子设备是否具有所请求调用的目标摄像头;
165.第一信息确定模块65,用于在第一检测模块64的检测检测结果为否的情况下,确定所述目标摄像头的第一类别信息,以及所述电子设备的硬件摄像头配置信息;
166.第一构建模块66,用于依据所述第一类别信息及所述摄像头配置信息,构建与所述摄像头调用请求相匹配的虚拟摄像头。
167.可选的,若在第一检测模块64的检测检测结果为是的情况下,上述摄像头调用实现装置还可以包括:
168.第一图像采集模块,用于在目标摄像头为硬件摄像头的情况下,响应所述摄像头调用请求,启动所述硬件摄像头,将所述硬件摄像头采集到的第一图像信息发送至所述第一应用;
169.第一调用模块,用于在目标摄像头为虚拟摄像头的情况下,调用所述虚拟摄像头运行过程中,所述虚拟摄像头能够利用所述电子设备具有的硬件摄像头,采集所述第一应用所需的第二图像信息,所述第二图像信息包括所述硬件摄像头相对于预设状态镜像或旋转后采集到的图像。
170.可选的,在第一检测模块64的检测检测结果为电子设备不具有所请求调用的目标摄像头,或者所述目标摄像头为虚拟摄像头的情况下,上述摄像头调用实现装置还可以包括:
171.切换提示模块,用于输出所述第一应用所请求调用的摄像头是否切换为硬件摄像头的提示信息;
172.切换模块,用于响应基于所述提示信息输入的确认切换指令,确定针对所述第一应用所选择的硬件摄像头;
173.第二图像采集模块,用于在响应所述摄像头调用请求的情况下,启动所确定的所述硬件摄像头,将所述硬件摄像头采集到的第一图像信息发送至所述第一应用。
174.在又一些实施例中,如图8所示,上述摄像头调用实现装置还可以包括:
175.第二信息确定模块67,用于依据电子设备的硬件摄像头配置信息,确定所述电子设备所具有的摄像头的第二类别信息;
176.第二检测模块68,用于检测所述第二类别信息是否满足应用调用条件,所述应用调用条件基于所述电子设备所安装的各应用的摄像头调用要求确定;
177.第一输出模块69,用于在第二检测模块68的检测结果为否的情况下,输出虚拟摄像头构建页面;
178.第二构建模块610,用于响应于对所述虚拟摄像头构建页面的确定构建操作,依据所述硬件摄像头配置信息,构建满足所述应用调用条件的虚拟摄像头;
179.相应地,上述虚拟摄像头确定模块62可以包括:
180.第一确定单元621,用于确定所述摄像头调用请求对应的第一应用调用条件;
181.虚拟摄像头选定单元622,用于从构建的满足不同所述应用调用条件的虚拟摄像头中,选定满足所述第一应用调用条件的虚拟摄像头。
182.在又一些实施例中,如图9所示,上述摄像头调用实现装置还可以包括:
183.配置信息获取模块611,用于获取所述电子设备的硬件摄像头配置信息;
184.配置信息得到模块612,用于利用所述硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息;
185.第三构建模块613,用于执行所述系统软件配置信息,构建基于硬件摄像头的虚拟摄像头;
186.相应地,上述虚拟摄像头确定模块62具体可以用于从构建的所述虚拟摄像头中,选定与所述摄像头调用请求相匹配的虚拟摄像头。
187.可选的,上述配置信息得到模块612可以包括:
188.软件逻辑信息确定单元,用于依据所述硬件摄像头配置信息,确定所述电子设备的驱动层、系统层及应用层各自针对所要构建的虚拟摄像头对应的软件逻辑信息;
189.相应地,上述第三构建模块613可以包括:
190.摄像头模拟单元,用于基于所述电子设备所具有的硬件摄像头在硬件层的硬件配置信息,控制所述驱动层、所述系统层及所述应用层执行所确定的相应的所述软件逻辑信息,模拟得到虚拟摄像头。
191.需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。
192.本申请还提供了一种计算机可读存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的摄像头调用实现方法的各个步骤。
193.参照图10,为适用于本申请提出的摄像头调用实现方法和装置的电子设备的一可选示例的硬件结构示意图,该电子设备可以包括但并不局限于:显示模组101、硬件摄像头102、存储器103以及处理器105,其中:
194.显示模组101可以包括感应触摸显示面板上的触摸事件的触摸感应单元、显示屏等组件,本申请对该显示模组101的具体组成结构不做详述,可以理解,对于非触摸的显示模组,不会包含该触摸感应单元。
195.本申请实施例中,可以通过显示模组101,实现对电子设备中各应用的操作界面及
其内容的显示,硬件摄像头102采集到的图像显示等,可以依据实际情况确定,本申请在此不做详述。
196.硬件摄像头102是电子设备安装的物理摄像头,对于适用于本申请提出的摄像头调用实现方法和装置的电子设备,其通常具有一种类型的硬件摄像头102,如前置硬件摄像头,即该硬件摄像头102的图像采集方向与显示模组的内容显示方向一致,在其镜头无法旋转的情况下,只能采集与显示模组的内容显示方向上一致的环境图像。但电子设备具有的该硬件摄像头102并不局限于这种前置类型的摄像头。
197.结合上文实施例的描述,若第一应用请求调用的摄像头为虚拟摄像头,可以切换为该硬件摄像头,完成图像采集。在该硬件摄像头具有旋转镜头的情况下,具体可以根据实际需求,调整旋转镜头的图像采集方向,以使显示模组显示所采集到的预览图像同时,利用该旋转摄像头完成图像采集。
198.可以理解,对于具有旋转镜头的硬件摄像头,本申请也可以直接将满足各应用的应用调用条件的摄像头确定为该硬件摄像头,这样,接受到任一应用的摄像头调用请求,可以直接启动该硬件摄像头,再依据该摄像头调用请求,调整硬件摄像头的旋转镜头的图像采集方向,即可满足该应用的需求。
199.存储器103可以用于存储实现上述方法实施例描述的摄像头调用实现方法的程序;处理器104可以用于加载并执行存储器103存储的程序,以实现上述方法实施例描述的摄像头调用实现方法的各步骤,具体实现过程本申请不做详述。
200.由此可见,为了实现任一应用对摄像头调用,上述电子设备通常还会包含各种通信接口,以满足相应数据的传输。其中,该通信接口可以包括如usb接口、串/并口等接口,用于实现电子设备内部组成部件之间的数据交互,可以根据该电子设备的产品类型确定,本申请不做一一详述。
201.通常情况下,上述通信接口还可以包括如gsm模块、wifi模块、5g/6g(第五代移动通信网络/第六代移动通信网络)模块、gprs模块等,能够利用无线通信网络实现数据交互的接口,以实现本电子设备与其他设备的数据交互。本申请对该通信接口的类型及其数量不做限制,可视情况而定。
202.在本申请实施例中,存储器103可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器104,可以为中央处理器(central processing unit,cpu)、特定应用集成电路(application

specific integrated circuit,asic)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。
203.应该理解的是,图10所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中,电子设备可以包括比图10所示的更多或更少的部件,或者组合某些部件,如键盘、鼠标、拾音器等至少一个输入设备;扬声器、振动机构、灯等至少一个输出设备;各种传感器、电源管理模组等,本申请在此不做一一列举。
204.最后,需要说明,本说明书中各个实施例采用递进或并列等方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置和电子设备而言,由于其与实施例公开的方法对应,所以描述的比较简单,相关之处参见方法部分说明即可。
205.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种摄像头调用实现方法,所述方法包括:获得第一应用的摄像头调用请求;确定与所述摄像头调用请求相匹配的虚拟摄像头,所述虚拟摄像头为至少基于所述电子设备硬件摄像头信息进行构建的软件定义摄像头;响应所述摄像头调用请求,调用所述虚拟摄像头运行。2.根据权利要求1所述的方法,所述方法还包括:检测电子设备是否具有所请求调用的目标摄像头;若电子设备不具有所请求调用的目标摄像头,确定所述目标摄像头的第一类别信息,以及所述电子设备的硬件摄像头配置信息;依据所述第一类别信息及所述摄像头配置信息,构建与所述摄像头调用请求相匹配的虚拟摄像头。3.根据权利要求1所述的方法,所述方法还包括:依据电子设备的硬件摄像头配置信息,确定所述电子设备所具有的摄像头的第二类别信息;检测所述第二类别信息是否满足应用调用条件,所述应用调用条件基于所述电子设备所安装的各应用的摄像头调用要求确定;如果不满足,输出虚拟摄像头构建页面;响应于对所述虚拟摄像头构建页面的确定构建操作,依据所述硬件摄像头配置信息,构建满足所述应用调用条件的虚拟摄像头;所述确定与所述摄像头调用请求相匹配的虚拟摄像头,包括:确定所述摄像头调用请求对应的第一应用调用条件;从构建的满足不同所述应用调用条件的虚拟摄像头中,选定满足所述第一应用调用条件的虚拟摄像头。4.根据权利要求1所述的方法,所述方法还包括:获取所述电子设备的硬件摄像头配置信息;利用所述硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息;执行所述系统软件配置信息,构建基于硬件摄像头的虚拟摄像头;所述确定与所述摄像头调用请求相匹配的虚拟摄像头,包括:从构建的所述虚拟摄像头中,选定与所述摄像头调用请求相匹配的虚拟摄像头。5.根据权利要求4所述的方法,所述利用所述硬件摄像头配置信息进行摄像头软件定义,得到相应的系统软件配置信息,包括:依据所述硬件摄像头配置信息,确定所述电子设备的驱动层、系统层及应用层各自针对所要构建的虚拟摄像头对应的软件逻辑信息;所述执行所述系统软件配置信息,构建基于硬件摄像头的虚拟摄像头,包括:基于所述电子设备所具有的硬件摄像头在硬件层的硬件配置信息,控制所述驱动层、所述系统层及所述应用层执行所确定的相应的所述软件逻辑信息,模拟得到虚拟摄像头。6.根据权利要求2所述的方法,在所述电子设备具有所请求调用的目标摄像头的情况下,所述方法还包括:若所述目标摄像头为硬件摄像头,响应所述摄像头调用请求,启动所述硬件摄像头,将
所述硬件摄像头采集到的第一图像信息发送至所述第一应用;若所述目标摄像头为虚拟摄像头,调用所述虚拟摄像头运行过程中,所述虚拟摄像头能够利用所述电子设备具有的硬件摄像头,采集所述第一应用所需的第二图像信息,所述第二图像信息包括所述硬件摄像头相对于预设状态镜像或旋转后采集到的图像。7.根据权利要求6所述的方法,在所述电子设备不具有所请求调用的目标摄像头,或者所述目标摄像头为虚拟摄像头的情况下,所述方法还包括:输出所述第一应用所请求调用的摄像头是否切换为硬件摄像头的提示信息;响应基于所述提示信息输入的确认切换指令,确定针对所述第一应用所选择的硬件摄像头;在响应所述摄像头调用请求的情况下,启动所确定的所述硬件摄像头,将所述硬件摄像头采集到的第一图像信息发送至所述第一应用。8.一种摄像头调用实现装置,所述装置包括:摄像头调用请求获得模块,用于获得第一应用的摄像头调用请求,虚拟摄像头确定模块,用于确定与所述摄像头调用请求相匹配虚拟摄像头,所述虚拟摄像头为至少基于所述电子设备硬件摄像头信息进行构建的软件定义摄像头;摄像头调用模块,用于响应所述摄像头调用请求,调用所述虚拟摄像头运行。9.一种电子设备,所述电子设备包括:显示模组;硬件摄像头;存储器,用于存储实现如权利要求1~7任一项所述的摄像头调用实现方法的程序;处理器,用于加载并执行所述存储器存储的所述程序,以实现如权利要求1~7任一项所述的摄像头调用实现方法的各步骤。10.根据权利要求9所述的电子设备,所述硬件摄像头的图像采集方向与所述显示模组的内容显示方向一致。
技术总结
本申请提出了一种摄像头调用实现方法、装置及电子设备,在电子设备的第一应用运行发起摄像头调用请求的情况下,即便电子设备并未配置与该摄像头调用请求相匹配的硬件摄像头,处理器获得该第一应用的摄像头调用请求后,仍可以确定该摄像头调用请求相匹配的虚拟摄像头,从而在响应该摄像头调用请求过程中,能够调用所确定的该虚拟摄像头运行,来满足第一应用的摄像头调用需求,保证第一应用正常运行,满足用户对第一应用的使用需求。用户对第一应用的使用需求。用户对第一应用的使用需求。


技术研发人员:张晓丹 陈晓龙 邱云龙
受保护的技术使用者:联想(北京)有限公司
技术研发日:2021.03.25
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-13940.html

最新回复(0)