CN117714854A - 摄像头调用方法、电子设备、可读存储介质和芯片 - Google Patents
摄像头调用方法、电子设备、可读存储介质和芯片 Download PDFInfo
- Publication number
- CN117714854A CN117714854A CN202211073229.9A CN202211073229A CN117714854A CN 117714854 A CN117714854 A CN 117714854A CN 202211073229 A CN202211073229 A CN 202211073229A CN 117714854 A CN117714854 A CN 117714854A
- Authority
- CN
- China
- Prior art keywords
- camera
- application
- local
- virtual camera
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 140
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 62
- 238000007726 management method Methods 0.000 description 55
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000007667 floating Methods 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供一种摄像头调用方法、电子设备、可读存储介质和芯片,涉及摄像头技术领域。该方法应用于第一设备,第一设备安装有应用,该方法包括:接收操作事件,该操作事件用于指示该应用调用本地摄像头;若该应用具备虚拟摄像头调用权限,响应于第一设备与第二设备具备多设备协同关系,确定本地摄像头对应的虚拟摄像头,支持该应用调用虚拟摄像头采集图像;若该应用不具备虚拟摄像头调用权限,支持该应用直接调用本地摄像头采集图像。通过本申请实施例提供的方法,在第一设备和第二设备协同工作的情况下,第一设备在接收到应用调用本地摄像头的指示后,可以快速确定并调用该本地摄像头对应的虚拟摄像头,具有较快的调用速度,用户体验较好。
Description
技术领域
本申请涉及摄像头技术领域,尤其涉及一种摄像头调用方法、电子设备、可读存储介质和芯片。
背景技术
虚拟摄像头技术是多设备互联协同技术中的一个重要组成部分。通过虚拟摄像头技术,第一设备上的应用程序(如相机应用、视频通话应用等)可以调用第二设备的摄像头采集图像,该第二设备的摄像头即为第一设备的虚拟摄像头。但是,第一设备调用虚拟摄像头的过程复杂,调用速度较慢,用户体验不佳。
发明内容
本申请提供一种摄像头调用方法、电子设备、可读存储介质和芯片,用于解决现有技术中虚拟摄像头的调用过程复杂,调用速度较慢,用户体验不佳的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种摄像头调用方法,应用于第一设备,第一设备安装有应用,该方法包括:接收操作事件,该操作事件用于指示该应用调用本地摄像头,本地摄像头为第一设备的摄像头;若该应用具备虚拟摄像头调用权限,响应于第一设备与第二设备具备多设备协同关系,确定本地摄像头对应的虚拟摄像头,支持该应用调用虚拟摄像头采集图像,虚拟摄像头为第二设备的摄像头,本地摄像头与虚拟摄像头具有映射关系;若该应用不具备虚拟摄像头调用权限,支持该应用直接调用本地摄像头采集图像。
通过本申请实施例提供的方法,在第一设备和第二设备协同工作的情况下,第一设备在接收到应用调用本地摄像头的指示后,可以快速确定并调用该本地摄像头对应的虚拟摄像头,调用过程简单,具有较快的调用速度,用户体验较好。
在一些实现中,该多设备协同关系包括:第一设备向第二设备发送第一设备的第一屏幕内容,第二设备显示第一屏幕内容,该第一屏幕内容包括所述应用的相关内容(如应用图标、应用界面等);基于此,接收操作事件包括:接收第二设备发送的操作事件,该操作事件是在第二设备显示的第一屏幕内容中触发的。
通过本申请实施例提供的方法,在第一设备向第二设备投屏的情况下,用户可以通过第二设备来控制第一设备上的应用进行摄像头的调用。
在一些实现中,支持该应用调用虚拟摄像头采集图像之后,该方法还包括:根据虚拟摄像头采集到的图像更新第一屏幕内容;向第二设备发送更新后的第一屏幕内容。
在一些实现中,若该应用具备虚拟摄像头调用权限,响应于第一设备与第二设备具备多设备协同关系,支持该应用调用虚拟摄像头采集图像之后,该方法还包括:第一设备与第二设备断开多设备协同关系;将虚拟摄像头切换为本地摄像头,支持该应用直接调用本地摄像头采集图像。
通过本申请实施例提供的方法,在应用调用虚拟摄像头的过程中,若第一设备和第二设备的多设备协同关系断开,那么第一设备可以将采集图像的摄像头由虚拟摄像头切换至本地摄像头,从而保证该应用的正常工作,提高用户体验。
在一些实现中,若该应用具备虚拟摄像头调用权限,响应于第一设备与第二设备具备多设备协同关系,支持该应用调用虚拟摄像头采集图像包括:接收该操作事件;支持该应用直接调用本地摄像头采集图像;第一设备与第二设备建立多设备协同关系;将本地摄像头切换为虚拟摄像头,支持该应用调用虚拟摄像头采集图像。
通过本申请实施例提供的方法,在应用调用本地摄像头的过程中,若第一设备和第二设备建立了多设备协同关系,那么该应用可以将采集图像的摄像头由本地摄像头切换至虚拟摄像头,从而解除对本地摄像头的占用,以保证电子设备的一些依赖于本地摄像头的功能的实现(例如保证人脸识别解锁功能的实现)。
在一些实现中,该应用包括第一应用和第二应用,第一应用具备虚拟摄像头调用权限,第二应用不具备虚拟摄像头调用权限,该操作事件包括指示第一应用调用第一本地摄像头的第一操作事件及指示第二应用调用第二本地摄像头的第二操作事件,第一本地摄像头和第二本地摄像头为相同或者不同的本地摄像头。该方法还包括:第一设备与第二设备建立多设备协同关系;接收第一操作事件;确定第一本地摄像头对应的第一虚拟摄像头,支持第一应用调用第一虚拟摄像头采集图像;接收第二操作事件;支持第二应用直接调用第二本地摄像头采集图像。
通过本申请实施例提供的方法,在一个应用调用虚拟摄像头的过程中,另一个应用可以调用本地摄像头,从而保证第一设备更多本地功能的实现,提高用户体验。例如,在第一设备的视频聊天应用调用第二设备的虚拟摄像头采集图像的过程中,人脸识别解锁应用可以调用本地摄像头采集人脸图像,进行人脸识别解锁,保证人脸识别解锁功能的实现。
在一些实现中,该应用包括第一应用和第二应用,第一应用和第二应用均具备虚拟摄像头调用权限,该操作事件包括指示第一应用调用第一本地摄像头的第一操作事件及指示第二应用调用第二本地摄像头的第二操作事件,该方法还包括:第一设备与第二设备建立多设备协同关系;接收第一操作事件;确定第一本地摄像头对应的第一虚拟摄像头,支持第一应用调用第一虚拟摄像头采集图像;接收第二操作事件;显示第一提示信息,第一提示信息用于提示虚拟摄像头调用功能已被占用;或者,停止支持第一应用调用第一虚拟摄像头采集图像,确定第二本地摄像头对应的第二虚拟摄像头,支持第二应用调用第二虚拟摄像头采集图像。
其中,第一本地摄像头和第二本地摄像头为相同的本地摄像头,且第一虚拟摄像头和第二虚拟摄像头为相同的虚拟摄像头;或者,第一本地摄像头和第二本地摄像头为不同的本地摄像头,且第一虚拟摄像头和第二虚拟摄像头为不同的虚拟摄像头。
通过本申请实施例提供的方法,在一个应用调用虚拟摄像头的过程中,第一设备可以提示另一应用不能再调用虚拟摄像头。例如,在第一设备和第二设备协同工作的场景下,若视频聊天应用已经占用了虚拟摄像头,那么第一设备提示相机应用不能调用虚拟摄像头进行图像采集。或者,第一设备可以由第一应用切换至第二应用调用虚拟摄像头,以满足用户当前的使用需求。
在一些实现中,该应用包括第一应用和第二应用,第一应用不具备虚拟摄像头调用权限,第二应用具备虚拟摄像头调用权限,该操作事件包括指示第一应用调用第一本地摄像头的第一操作事件及指示第二应用调用第二本地摄像头的第二操作事件,第一本地摄像头和第二本地摄像头为相同或者不同的本地摄像头。该方法还包括:第一设备与第二设备建立多设备协同关系;接收第一操作事件;支持第一应用直接调用第一本地摄像头采集图像;接收第二操作事件;确定第二本地摄像头对应的第二虚拟摄像头,支持第二应用调用第二虚拟摄像头采集图像。
通过本申请实施例提供的方法,第一设备的一个应用在调用本地摄像头的过程中,另一个应用可以同时调用虚拟摄像头。例如,在第一设备的相机应用调用本地摄像头采集图像的过程中,视频聊天应用可以同时调用第二设备的虚拟摄像头采集图像。
在一些实现中,该应用包括第一应用和第二应用,第一应用和第二应用均不具备虚拟摄像头调用权限,该操作事件包括指示第一应用调用第一本地摄像头的第一操作事件及指示第二应用调用第二本地摄像头的第二操作事件,第一本地摄像头和第二本地摄像头为相同或者不同的本地摄像头。该方法还包括:接收第一操作事件;支持第一应用直接调用第一本地摄像头采集图像;接收第二操作事件;显示第二提示信息,第二提示信息用于提示本地摄像头调用功能已被占用;或者,停止支持第一应用直接调用第一本地摄像头采集图像,并支持第二应用直接调用第二本地摄像头采集图像。
通过本申请实施例提供的方法,在一个应用调用本地摄像头的过程中,第一设备可以提示另一个应用不能再调用虚拟摄像头。例如,在第一设备和第二设备协同工作的场景下,若相机应用已经占用了本地摄像头,那么第一设备可以提示视频聊天应用不能调用本地摄像头进行图像采集。或者,第一设备可以将调用本地摄像头的应用由第一应用切换至第二应用,以满足用户当前的使用需求。
在一些实现中,确定本地摄像头对应的虚拟摄像头包括:根据映射关系表确定本地摄像头对应的虚拟摄像头,该映射关系表包括至少一组本地摄像头和虚拟摄像头的映射关系。
在一些实现中,该至少一组本地摄像头和虚拟摄像头的映射关系包括:第一本地摄像头和第一虚拟摄像头的映射关系;以及,第二本地摄像头和第二虚拟摄像头的映射关系。其中,第一本地摄像头和第二本地摄像头为不同的本地摄像头,第一虚拟摄像头和第二虚拟摄像头为不同的虚拟摄像头。
在一些实现中,该方法还包括:第一设备与第二设备建立多设备协同关系;接收第二设备发送的虚拟摄像头的标识信息;根据本地摄像头的标识信息和虚拟摄像头的标识信息确定该映射关系。
在一些实现中,第一设备包括用于并行处理的本地摄像头模块和虚拟摄像头模块,本地摄像头模块用于调用本地摄像头,虚拟摄像头模块用于调用虚拟摄像头。
在本申请实施例提供的方法中,在第一设备和第二设备建立多设备协同关系的情况下,第一设备中同时存在能够并行处理任务的本地摄像头模块和虚拟摄像头模块。基于此,第一设备可以使用本地摄像头模块调用本地摄像头,使用虚拟摄像头模块调用虚拟摄像头,从而实现第一设备对本地摄像头和虚拟摄像头的调用相互不影响,保证了第一设备更多功能的实现,有助于提高用户的使用体验。
第二方面,本申请实施例提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行该计算机程序时实现如上述第一方面及其各个实现方式所示出的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所示出的方法。
第四方面,本申请实施例提供一种芯片,该芯片包括处理器和存储器,该存储器中存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面示出的方法。
第五方面,本申请实施例提供一种计算机程序文件,所述计算机程序文件包括程序,当所述程序被电子设备运行时,使得电子设备实现如上述第一方面示出的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的多设备协同过程中的设备间连接结构示意图;
图2是本申请的一个实施例提供的多设备协同场景示意图;
图3是本申请另一个实施例提供的多设备协同场景示意图;
图4A是本申请的一个实施例提供的多设备协同过程中的用户控制场景示意图;
图4B是本申请另一个实施例提供的多设备协同过程中的用户控制场景示意图;
图4C是本申请的一个实施例提供的多设备协同过程中的视频通话场景示意图;
图5是本申请的一个实施例提供的摄像头调用方法的示意性流程图;
图6是本申请实施例提供的摄像头调用方法的示意性流程图;
图7是本申请实施例提供的一种电子设备的结构示意图;
图8是本申请实施例提供的第一设备的软件结构示意图;
图9是本申请实施例提供的第一设备单独调用本地摄像头的示意性流程图;
图10是本申请实施例提供的第一设备将本地摄像头切换至虚拟摄像头的示意性流程图;
图11是本申请实施例提供的第一设备单独调用虚拟摄像头的示意性流程图;
图12是本申请实施例提供的第一设备将虚拟摄像头切换至本地摄像头的示意性流程图;
图13是本申请实施例提供的第一设备的一个显示界面示意图;
图14是本申请实施例提供的芯片结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的技术方案进行说明。
应理解,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本申请实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
多设备互联协同,简称多设备协同,是电子设备的一个重要发展方向。目前,常见的多设备协同场景有手机-平板电脑协同、手机-笔记本电脑协同、平板电脑-笔记本电脑协同、车机-手机协同、手机-无人机协同、手机-相机设备协同等。通过多设备协同,不同类型的电子设备可以打破设备和应用壁垒,实现跨平台、跨系统的协作功能,从而充分利用不同设备的优势,提高人们的工作和生活体验。
图1是本申请实施例提供的多设备协同过程中的设备间连接结构示意图。参见图1所示,以第一设备和第二设备进行多设备协同为例,第一设备和第二设备之间可以无线连接,也可以有线连接。其中,无线连接包括无线保真(wireless fidelity,WiFi)连接、蓝牙(bluetooth,BT)连接、超带宽(ultra wide band,UWB)连接、近场通信(near fieldcommunication,NFC)连接等。有线连接包括数据线连接等,本申请实施例对此不进行具体限制。
第一设备和第二设备可以根据用户操作建立多设备协同关系。例如,当第一设备是手机,第二设备是笔记本电脑时,在手机NFC功能开启的情况下,用户使用手机背部的NFC区域触碰笔记本电脑的华为分享感应区,并在手机上确认连接笔记本电脑之后,即可将手机的屏幕内容通过悬浮窗的形式显示在笔记本电脑上(可参见图2),从而建立多设备协同关系。或者,当第一设备是手机,第二设备是平板电脑时,在手机蓝牙开启以及平板电脑多屏协同功能开启的情况下,用户将手机靠近平板电脑并按照提示完成连接,即可将手机的屏幕内容通过悬浮窗的形式显示在平板电脑上(可参见图3),建立多设备协同关系。
基于此,用户可以通过第二设备上的悬浮窗显示第一设备的屏幕内容,可称作第一屏幕内容,并控制第一设备。示例性的,第二设备可以将用户在悬浮窗内触发的操作事件(如点击事件、触摸滑动事件等)反馈给第一设备,第一设备可以基于接收到的操作事件更新第一设备的屏幕内容,并将更新后的屏幕内容发送给第二设备,以由第二设备更新悬浮窗内显示的第一设备的屏幕内容。这样,第一设备的部分功能可以通过第二设备来操作,而第一设备可以同步进行其他功能的操作。
进一步,多设备协同过程中还可以采用虚拟摄像头技术,即一个设备不仅可以使用本地摄像头进行图像采集,本地摄像头是指设备自身所具有的摄像头,也可以使用虚拟摄像头进行图像采集,虚拟摄像头是指其他连接设备的摄像头。在一些示例中,第一设备(如手机)和第二设备(如笔记本电脑)在建立多设备协同关系之后,若第一设备是主控设备,第二设备是协同设备,那么第一设备上的部分应用程序(application,App)可以调用第二设备的摄像头来采集图像(包括图片和视频)。
在一个示例中,参见图3所示,在手机和平板电脑协同工作的过程中,手机为主控设备,平板电脑为协同设备,手机向平板电脑发送手机的屏幕内容,平板电脑接收并显示手机的屏幕内容。参见图4A所示,响应于用户对平板电脑上畅连应用的操作,平板电脑向第一设备发送打开畅连应用的操作事件,手机根据该操作事件将手机的屏幕内容更新为图4B中示出的通话记录界面,并将通话记录界面发送给平板电脑进行显示。该通话记录界面中包括用户与其各个好友的通话记录。在一些通话记录下方,如好友1的通话记录下方,显示有语音通话控件和视频通话控件。参见图4B所示,响应于用户在第二设备的悬浮窗内点击好友1的视频通话控件,第二设备向第一设备发送第一操作事件。响应于第一操作事件,第一设备调用第二设备的摄像头采集图像,并根据采集到的图像生成通话界面。最后,第一设备将通话界面发送给第二设备进行显示,从而实现用户使用第一设备的畅连应用,在第二设备上进行视屏通话。在视频通话过程中,参见图4C所示,第一设备和第二设备的显示的通话界面相同,均包括用户图像、好友图像以及其他控件(如“切换摄像头”、“挂断”、“更多”等),其中,用户图像是由第二设备的摄像头采集到的。另外,需要说明的是,用户通过第二设备的悬浮窗控制第一设备时,第一设备可以显示屏幕内容,也可以熄屏。
在一些实现中,参见图5所示,第一设备通常通过硬件抽象层的摄像头会话管理模块(Camera0)调用各个来源的摄像头,实现视频流切换及图像采集,其中各个来源的摄像头包括第一设备的本地摄像头和虚拟摄像头(比如第二设备的摄像头)。
示例性的,第一设备的应用程序(如)调用本地摄像头的过程如图5中的S0-1~S0-4所示。
S0-1,应用程序向摄像头模组(Camera Module)发送摄像头调用指令。
S0-2,响应于该摄像头调用指令,摄像头模组向摄像头会话管理模块(Camera0)中的摄像头会话单元(Camera Session)发送会话建立指令。
S0-3,响应于会话建立指令,摄像头会话单元建立摄像头会话,并向摄像头驱动(Camera Driver)发送驱动打开指令。
S0-4,响应于该驱动打开指令,摄像头驱动打开,并向本地摄像头发送图像采集指令。
需要说明的是,本地摄像头采集到的图像依次经过摄像头驱动、摄像头会话单元、摄像头模组返回至该应用程序。
示例性的,第一设备的应用程序(如)调用虚拟摄像头的过程如图5中的S0-1~S0-9所示。
S0-1~S0-4,应用程序打开本地摄像头。具体参见前文描述,此处不再赘述。
S0-5,在第一设备和第二设备已建立多设备协同关系的情况下,协同管理应用通过分布式硬件管理模块向摄像头会话管理模块发送摄像头切换指令。该摄像头切换指令用于指示将摄像头会话单元的数据流由本地摄像头切换为虚拟摄像头。
S0-6,响应于摄像头切换指令,摄像头会话管理模块中数据流切换单元向摄像头会话单元发送数据拦截请求。该数据拦截请求用于请求拦截本地摄像头采集的图像。
S0-7,响应于数据拦截请求,摄像头会话单元向摄像头驱动发送驱动关闭指令,以停止对本地摄像头的调用。第一设备在停止对本地摄像头的调用后,第一设备不使用本地摄像头采集图像。
S0-8,摄像头会话单元向数据流切换单元发送拦截成功通知。
S0-9,数据流切换单元向分布式硬件管理模块发送切换成功通知。该切换成功通知用于通知已将摄像头会话单元的数据流由本地摄像头切换为虚拟摄像头。
S0-10,分布式硬件管理模块向第二设备发送摄像头调用指令,以便通过虚拟摄像头(即第二设备的摄像头)采集图像。
需要说明的是,虚拟摄像头(即第二设备的摄像头)采集到的图像依次经过分布式硬件管理模块、数据流切换单元、摄像头会话单元、摄像头模组返回至应用程序。
可以看出,第一设备在调用虚拟摄像头的过程中,需要先打开本地摄像头,再根据上层应用的指令将本地摄像头切换至虚拟摄像头,存在打开本地摄像头的冗余操作流程,调用过程复杂,导致虚拟摄像头的调用速度较慢,用户体验不佳。
另外,由于第一设备在使用摄像头会话管理模块调用虚拟摄像头的过程中,摄像头会话管理模块会被虚拟摄像头占用,本地摄像头就无法被其他应用所使用,因此,第一设备不能够实现同时调用本地摄像头和虚拟摄像头,从而影响第一设备部分功能的实现。
以第一设备是手机,第二设备是笔记本电脑为例,手机和笔记本电脑在建立多设备协同关系之后,手机在进行视频聊天的过程中可以调用虚拟摄像头(即笔记本电脑的摄像头)采集图像。但是,手机在调用虚拟摄像头时将摄像头会话管理模块占用,导致手机无法再调用本地摄像头采集人脸图像,比如人脸识别解锁就会失败,导致用户体验不佳。
为此,本申请实施例提供一种摄像头调用方法,该方法能够在电子设备打开虚拟摄像头的过程中,避免打开本地摄像头的冗余流程,提高虚拟摄像头的调用速度,提高用户体验。另外,该方法还能够减少本地摄像头和虚拟摄像头调用时的相互影响,保证电子设备更多功能的正常实现,提高用户体验。
图6是本申请实施例提供的摄像头调用方法的示意性流程图。该方法应用于第一设备,具体包括如下S601~S603。
S601,接收操作事件,该操作事件用于指示应用程序调用本地摄像头。
S602,若该应用程序具备虚拟摄像头调用权限,响应于第一设备和第二设备具备多设备协同关系,确定该本地摄像头对应的虚拟摄像头,支持该应用程序调用该虚拟摄像头采集图像。虚拟摄像头为第二设备的摄像头。
S603,若该应用程序不具备虚拟摄像头调用权限,则支持该应用调用该本地摄像头采集图像。
在本申请实施例提供的方法中,在第一设备和第二设备建立多设备协同关系的情况下,第一设备在接收到应用程序调用本地摄像头的指示后,可以快速确定并调用该本地摄像头对应的虚拟摄像头,具有较快调用速度,用户体验较好。
图7是本申请实施例提供摄像头调用方法所适用的电子设备的结构示意图。该电子设备可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriber identification module,SIM)卡接口295等。
在本申请实施例中,电子设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、智能电视、投影仪、可穿戴设备(如智能手表)、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等。本申请实施例对电子设备的具体类型不进行限制。
可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
作为举例,当电子设备为手机或平板电脑时,可以包括图示中的全部部件,也可以仅包括图示中的部分部件。
作为举例,当电子设备为大屏设备时,可以包括图示中的处理器210,外部存储器接口220,内部存储器221,通用串行总线(universal serial bus,USB)接口230,充电管理模块240,电源管理模块241,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,摄像头293,显示屏294。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块240可以通过USB接口230接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块240可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。电源管理模块241还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。
在其他一些实施例中,电源管理模块241也可以设置于处理器210中。在另一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块250或其他功能模块设置在同一个器件中。
无线通信模块260可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。
电子设备通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。例如本申请实施例中的教学视频和用户动作画面视频,显示屏294包括显示面板。在一些实施例中,电子设备可以包括1个或N个显示屏294,N为大于1的正整数。
电子设备可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。
ISP用于处理摄像头293反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头293中。
摄像头293用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头293,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
在本申请实施例中,NPU或其他处理器可以用于对电子设备存储的视频中的图像进行分析处理等操作。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)。
此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。
音频模块270用于将数字音频信号转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块270还可以用于对音频信号编码和解码。在一些实施例中,音频模块270可以设置于处理器210中,或将音频模块270的部分功能模块设置于处理器210中。
扬声器270A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器270A收听音乐,或收听免提通话。
受话器270B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器270B靠近人耳接听语音。
麦克风270C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风270C发声,将声音信号输入到麦克风270C。电子设备可以设置至少一个麦克风270C。
耳机接口270D用于连接有线耳机。耳机接口270D可以是USB接口230,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏294不同区域的触摸操作,马达291也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器292可以是指示灯,可用于指示充电状态,电量变化,也可用于指示消息,未接来电,通知等。
SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。
图8是本申请实施例提供的第一设备的软件结构示意图。参见图8所示,以第一设备的操作系统是系统为例,第一设备的软件系统包括应用程序层、应用程序框架层(framework,FWK)、硬件抽象层(hardware abstraction layer,HAL)以及内核层(Kernel),层与层之间通过软件接口通信。
应用程序层包括一系列应用程序包,应用程序包可以包括畅连应用、相机、短信息、视频、邮件、人脸识别解锁应用和协同管理应用等。在这些应用中,有的应用(如畅连应用、/>相机)能够调用摄像头,有的应用(如短信息、邮件)不能调用摄像头。其中,协同管理应用用于管理建立第一设备和其他设备(如第二设备)的协同关系,其中包括控制显示相关的用户操作界面,以及,根据用户在该界面中输入的控制操作发现或者连接其他设备等。
需要说明的是,本申请实施例将第一设备上能够调用摄像头的应用程序划分为第一类应用程序和第二类应用程序。
第一类应用程序具备虚拟摄像头调用权限,即可以在第一设备与第二设备建立多设备协同关系之后调用虚拟摄像头。其中包括:第一设备只能调用虚拟摄像头,或者,第一设备可以根据用户操作在虚拟摄像头和本地摄像头中选择性调用虚拟摄像头。示例性的,第一类应用程序可以是畅连应用、相机、镜子应用等。
在一些实施例中,第一设备是手机,第二设备是笔记本电脑,手机和笔记本电脑建立多设备协同关系之后,手机在使用与好友进行视频通话的过程中,手机只能调用笔记本电脑的摄像头采集图像,而不能调用本地摄像头采集图像。若用户想使用本地摄像头采集图像,需断开手机和笔记本电脑之间的多设备协同关系。
在另一些实施例中,第一设备是手机,第二设备是笔记本电脑,手机和笔记本电脑建立多设备协同关系之后,手机在使用与好友进行视频通话的过程中,手机优先调用笔记本电脑的摄像头采集图像。若用户想使用手机的本地摄像头采集图像,可以在手机上进行切换操作,将采集图像的摄像头切换为本地摄像头,而无需断开手机和笔记本电脑之间的多设备协同关系。
第二类应用程序不具备虚拟摄像头调用权限,即在第一设备与第二设备建立多设备协同关系之后不能够调用虚拟摄像头,仅能够调用本地摄像头。第二类应用程序可以是根据应用程序的类型事先确定的,也可以是根据用户的配置确定的。示例性的,第二类应用程序可以是人脸识别解锁应用等。
在一些实施例中,以第一设备是手机,第二设备是笔记本电脑为例,手机在和笔记本电脑建立多设备协同关系之后,手机上的应用程序优先调用笔记本电脑的摄像头采集图像还是优先调用本地摄像头采集图像,可以通过配置该应用程序的类型来确定,即通过配置该应用程序是属于第一类应用程序还是第二类应用程序来确定。以手机的为例,若用户将/> 配置为第一类应用程序,那么在手机和笔记本电脑协同工作的情况下,优先调用虚拟摄像头。若用户将/>配置为第二类应用程序,那么在手机和笔记本电脑协同工作的情况下,/>优先调用本地摄像头。
应用程序框架层包括分布硬件管理模块和摄像头模组(Camera Module)。分布式硬件管理模块,用于控制协同设备的硬件。摄像头模组包括摄像头服务模块(CameraService)、摄像头设备模块(Camera Device)和虚拟摄像头映射管理模块。其中,CameraService用于给上层应用提供Camera使用接口和服务。Camera Device用于提供对相应Camera设备的控制能力。虚拟摄像头映射管理模块中用于存储第一设备的本地摄像头与第二设备的摄像头(第一设备的虚拟摄像头)的映射关系。在第一设备和第二设备建立多设备协同关系的情况下,该虚拟摄像头映射管理模块能够在第一类应用程序请求调用本地摄像头时,通过该映射关系确定该本地摄像头对应的虚拟摄像头,并通过虚拟摄像头模块调用虚拟摄像头(即第二设备的摄像头),而对于上层的应用程序来讲,无须知道底层调用不同摄像头的逻辑,相应地,应用程序在多设备协同的场景中,也不需要单独设计兼容的程序来适应。
可选的,第一设备和第二设备在建立多设备协同关系之后,第二设备可以将其摄像头信息(如摄像头ID)发送给第一设备的虚拟摄像头映射管理模块,该虚拟摄像头映射管理模块根据预设的规则建立并存储该映射关系。本申请实施例对该预设的规则不进行具体限制。
在一个示例中,若第一设备的本地摄像头包括前置摄像头Camera1-1、后置摄像头Camera1-2,第二设备的摄像头包括前置摄像头Camera2-1、后置摄像头Camera2-2,则该映射关系可以如表1所示。应理解,为了便于用户操作,第一设备的前置摄像头通常对应第二设备的前置摄像头,第一设备的后置摄像头通常对应第二设备的后置摄像头,即Camera1-1对应Camera2-1,Camera1-2对应Camera2-2。
基于表1所示的映射关系,用户在使用第一设备中前置摄像头Camera1-1拍摄图像时,实际上调用的是第二设备的前置摄像头Camera2-1采集图像。同理,当用户在第一设备选择使用后置摄像头Camera1-2拍摄图像时,实际上调用的是第二设备的后置摄像头Camera2-2采集图像。
表1映射关系表
第一设备的摄像头 | 第二设备的摄像头 |
Camera1-1 | Camera2-1 |
Camera1-2 | Camera2-2 |
在另一个示例中,若第一设备的本地摄像头包括前置摄像头Camera1-1、后置摄像头Camera1-2,第二设备的摄像头包括前置摄像头Camera2,且不包括后置摄像头,则该映射关系可以如表2所示。基于该映射关系,第一设备在通过虚拟摄像头技术调用第二设备的摄像头的过程中,无法进行前后置摄像头的切换。其中,第一设备无法进行前后置摄像头的切换可以理解为:第一设备不响应用户对摄像头切换控件的操作。
表2映射关系表
第一设备的摄像头 | 第二设备的摄像头 |
Camera1-1 | Camera2 |
Camera1-2 | / |
硬件抽象层是硬件和软件之间的层。在本申请实施例中,硬件抽象层包括本地摄像头模块(可称作Camera0)和虚拟摄像头模块(Camera X),用于建立对应的摄像头会话。摄像头会话可以用来标识应用的一次会话请求,控制请求参数,以及传递请求图像数据等。
本地摄像头模块(Camera0)中设置有本地摄像头会话单元(Camera Session),用于建立本地摄像头会话。通过本地摄像头会话单元,电子设备可以调用本地摄像头采集图像。
虚拟摄像头模块(Camera X)中设置有虚拟摄像头会话单元(Virtual CameraSession),用于建立虚拟摄像头会话。通过虚拟摄像头会话单元,第一设备能够通过分布式硬件管理模块调用第二设备的摄像头采集图像。该虚拟摄像头模块可以是第一设备的硬件抽象层中预设的,也可以是第一设备在与第二设备建立多设备协同关系之后新注册增加的模块。
内核层(Kernel)包括一系列的驱动,例如摄像头驱动(Camera Driver)、传感器驱动等,用于驱动硬件层的相关硬件,如摄像头、传感器等。在本申请实施例中,摄像头驱动包括第一视频模块(/dev/video0)和第二视频模块(/dev/video1),其中,第一视频模块对应前置摄像头,用于处理前置摄像头采集的图像。第二视频模块对应后置摄像头,用于处理后置摄像头采集的图像。
基于上述本申请实施例提供的第一设备的软件结构,第一设备上的应用程序可以调用本地摄像头或者虚拟摄像头(即第二设备的摄像头)采集图像。下面分别对其进行说明。
(一)应用程序调用本地摄像头
在本申请实施例中,无论第一设备和第二设备之间是否建立了多设备协同关系,第一设备上的第一类应用程序和第二类应用程序都可以调用本地摄像头,且调用流程基本相同,即应用程序负责调用本地摄像头的部分都是一致的。
示例性的,参见图9所示,应用程序调用本地摄像头的流程包括如下S1-1~S1-4。
S1-1,响应于操作事件,第一设备的应用程序向摄像头模组发送本地摄像头调用指令,用于调用第一设备的本地摄像头采集图像。
在本申请实施例中,用户通常在第一设备上触发操作事件,该操作事件用于指示调用本地摄像头。以第一设备是手机为例,该操作事件可以是用户打开手机上的相机应用,或者打开视频聊天,或者在手机熄屏并锁定的情况下拿起手机唤醒屏幕等。
但是,在一些实现中,若第一设备和第二设备建立了多设备协同关系,且第二设备通过悬浮窗显示第一设备的屏幕内容,那么该操作事件也可以是用户在第二设备的悬浮窗内触发的。例如,相机应用被用户配置为第二类应用程序,不具备虚拟摄像头调用权限,用户可以在第二设备的悬浮窗内点击相机应用的图标,触发操作事件,并将该操作事件发送给手机,以便手机根据该操作事件调用本地摄像头。
需要说明的是,对于应用程序而言,无论第一设备和第二设备是否建立了多设备协同关系,调用摄像头的操作事件通常都是相同的,因此,第一设备首先会认为这些操作事件都是要调用本地摄像头。只是在第一设备和第二设备建立协同关系的情况下,针对第一类应用程序,第一设备可以将对该本地摄像头的调用进一步转化为对虚拟摄像头的调用。而针对第二类应用程序,或者,在第一设备和第二设备未建立协同关系的情况下,第一设备无需进行摄像头调用关系的转化,而是直接调用本地摄像头。
S1-2,摄像头模组向本地摄像头模块发送会话建立指令,该会话建立指令用于指示第一设备的本地摄像头模块建立本地摄像头会话。
S1-3,本地摄像头模块中的摄像头会话单元在根据会话建立指令建立摄像头会话之后,向摄像头驱动发送驱动打开指令,该驱动打开指令用于指示摄像头驱动工作。
S1-4,摄像头驱动在工作过程中,向本地摄像头发送图像采集指令,以驱动该本地摄像头采集图像。
需要说明的是,本地摄像头采集的图像依次通过摄像头驱动、本地摄像头模块、摄像头模组返回至应用程序。
由于无论第一设备和第二设备之间是否建立了多设备协同关系,第一设备上的应用程序都可以调用本地摄像头,因此,在一些实施例中,应用程序在调用本地摄像头之前,第一设备和第二设备之间是未建立多设备协同关系的,基于此,若应用程序在调用本地摄像头的过程中,第一设备和第二设备新建立了多设备协同关系,那么第一设备可以将本地摄像头切换至虚拟摄像头。
示例性的,参见图10中所示,该过程包括如下步骤S2-1~S2-8。
S2-1~S2-2,在第一设备的应用程序使用本地摄像头采集图像的过程中(参见S1-1~S1-4),第一设备的协同管理应用根据用户操作控制分布式硬件模块管理与第二设备建立多屏协同关系。
S2-3,分布式硬件管理模块向虚拟摄像头映射管理模块配置映射关系表。
可选的,若第一设备的硬件抽象层中未预设有虚拟摄像头模块,则分布式硬件管理模块还需要在硬件抽象层中注册虚拟摄像头模块。
S2-4,在映射关系表配置成功之后,第一设备的摄像头模组向本地摄像头模块发送会话关闭通知,用于通知本地摄像头模块关闭本地摄像头会话。
S2-5,本地摄像头模块在关闭本地摄像头会话之后向摄像头驱动发送驱动关闭指令,用于指示本地摄像头模块关闭摄像头驱动。
S2-6~S2-7,虚拟摄像头管理模块根据映射关系,确定本地摄像头所对应的虚拟摄像头,并通过虚拟摄像头模块和分布式硬件管理模块调用该虚拟摄像头。
S2-8,第二设备响应于虚拟摄像头调用指令虚拟摄像头采集图像。
虚拟摄像头(即第二设备的摄像头)采集到的图像依次通过第一设备的分布式硬件模块、虚拟摄像头模块、摄像头模组返回至第一设备的应用程序。
(二)调用虚拟摄像头
在本申请实施例中,调用虚拟摄像头的应用程序为第一类应用程序。换而言之,仅有第一设备上的第一类应用程序(如畅连应用)能够调用虚拟摄像头,而第二类应用程序(如人脸识别解锁应用)不能调用虚拟摄像头。
示例性的,参见图11所示,该过程具体包括如下步骤S3-1~S3-7。
S3-1~S3-2,第一设备的协同管理模块根据用户操作向分布式硬件管理模块发送多设备协同指令,控制分布式硬件管理模块与第二设备建立多设备协同关系。
S3-3,分布式硬件管理模块向虚拟摄像头映射管理模块配置映射关系表。
可选的,若第一设备的硬件抽象层中未预设有虚拟摄像头模块,则分布式硬件管理模块还需要在硬件抽象层中注册虚拟摄像头模块。
S3-4,响应于操作事件,第一设备的应用程序向摄像头模组发送摄像头调用指令,用于调用第一设备的本地摄像头进行图像采集。
可选的,操作事件可以是用户在第一设备上触发的,也可以是用户在第二设备上触发,并由第二设备发送给第一设备的。具体参见前文描述,此处不再赘述。
S3-5,摄像头模组根据预先配置的映射关系,确定该本地摄像头对应的虚拟摄像头,并向虚拟摄像头模块发送虚拟摄像头调用指令,该虚拟摄像头调用指令用于调用该虚拟摄像头。
示例性的,根据表1所示的映射关系,若第一设备当前使用的本地摄像头是Camera1-1,则虚拟摄像头为Camera2-1。若第一设备当前使用的本地摄像头是Camera1-2,则虚拟摄像头为Camera2-2。
S3-6,虚拟摄像头模块通过分布式硬件管理模块向第二设备发送该虚拟摄像头调用指令。
S3-7,第二设备响应于虚拟摄像头调用指令,调用虚拟摄像头采集图像。
第二设备在采集到图像之后,依次通过第一设备的分布式硬件模块、虚拟摄像头模块、摄像头模组向第一设备的应用程序发送采集到的图像。
应用程序在调用虚拟摄像头的过程中,若第一设备和第二设备之间的多设备协同关系断开,或者用户指示将多设备协同时的音视频切换至第一设备,那么第一设备可以将虚拟摄像头切换至本地摄像头。
示例性的,参见图12中所示,该过程包括如下步骤S4-1~S4-5。
S4-1,第一设备和第二设备断开多设备协同关系。或者,第一设备接收到用户输入的摄像头切换指令,该指令用于将应用程序调用的摄像头由虚拟摄像头切换至本地摄像头。
在一些实施例中,参见图13所示,第一设备和第二设备的多设备协同关系建立成功之后,第二设备可以在通知管理框中显示通知消息以提示用户。例如,当第二设备是型号为“HUAWEI P50 Pro”的手机时,该通知消息可以包括提示信息“已连接“HUAWEI P50Pro””,以及“可在平板上操作手机,互相共享数据”等。此外,该通知消息还包括“断开”控件和“音视频切换到手机”等控件。其中,“断开”控件用于控制第二设备断开与第一设备(即HUAWEI P50Pro)的连接;“音视频切换到手机”控件用于控制第二设备将第一设备的音频和视频的采集与播放操作由当前的第二设备切换至第一设备。
响应于用户对于“断开”控件的操作,第一设备和第二设备即可断开多设备协同关系。响应于用户对“音视频切换到手机”控件的操作,即可将第一设备采集图像的摄像头由虚拟摄像头切换至本地摄像头。
S4-2,分布式硬件管理模块向摄像头模组发送摄像头切换通知,用于通知将采集图像的摄像头由虚拟摄像头切换至本地摄像头。
S4-3,摄像头模组向本地摄像头模块发送会话建立指令,该会话建立指令用于指示第一设备的本地摄像头模块建立本地摄像头会话。
S4-4,本地摄像头模块中的摄像头会话单元在根据会话建立指令建立摄像头会话之后,向摄像头驱动发送驱动打开指令,该驱动打开指令用于指示摄像头驱动工作。
S4-5,摄像头驱动在工作过程中,向本地摄像头发送图像采集指令,以驱动该本地摄像头采集图像。
需要说明的是,第一设备的本地摄像头采集的图像依次通过摄像头驱动、本地摄像头模块和摄像头模组返回至应用程序。
在本申请实施例中,在第一设备和第二设备建立多设备协同关系的情况下,若第一设备接收到应用程序调用本地摄像头的指令,且应用程序具备虚拟摄像头调用权限,那么第一设备是直接根据映射关系表确定本地摄像头所对应的虚拟摄像头,并通过虚拟摄像头模块调用虚拟摄像头的,而无需通过本地摄像头模块建立本地摄像头会话,因而无需打开本地摄像头。因此,在打开虚拟摄像头的过程中减少了打开本地摄像头的冗余操作,能够提高虚拟摄像头的打开速度,具有较好的用户体验。
由于第一设备对本地摄像头的调用是由本地摄像头模块负责的,对虚拟摄像头的调用是由虚拟摄像头负责的,且这两个模块能够并行处理任务。因此,在第一设备和第二设备建立多设备协同关系的情况下,应用程序对本地摄像头和虚拟摄像头的调用互不影响,可以实现两个应用同时调用本地摄像头和虚拟摄像头。下面基于第一设备和第二设备已建立多设备协同关系,以第一应用和第二应用为例,对该过程进行示例性说明。
示例1:第一应用和第二应用均为第一类应用程序。
换而言之,第一应用和第二应用均具备虚拟摄像头调用权限。示例性的,该第一应用可以是畅连应用,第二应用可以是相机应用。
第一应用和第二应用同时调用摄像头的过程包括如下内容(1)和(2)。
(1)第一应用调用第一虚拟摄像头采集图像。
具体地,用户可以针对第一应用触发第一操作事件。该第一操作事件用于指示第一应用调用第一设备的第一本地摄像头采集图像。以第一应用是畅连应用为例,第一操作事件可以为用户操作畅连应用邀请好友进行视频通话。由于第一设备具备虚拟摄像头调用权限,因此,第一设备根据映射关系表确定该第一本地摄像头对应的第一虚拟摄像头,并通过虚拟摄像头模块调用该第一虚拟摄像头为该第一应用采集图像。具体调用过程请参见前文描述,此处不再赘述。
(2)第二应用调用第二虚拟摄像头失败,或者,由第一应用切换至第二应用调用虚拟摄像头。
在一些实施例中,在第一应用调用第一虚拟摄像头采集图像的过程中,用户可以针对第二应用触发第二操作事件。该第二操作事件用于指示第二应用调用第一设备的第二本地摄像头。以第二应用是相机应用为例,第二操作事件可以是用户点击相机应用的应用图标。此时,由于调用虚拟摄像头的虚拟摄像头模块已被第一应用占用,因此,第二应用调用虚拟摄像头失败。为此,第一设备可以显示第一提示信息,用于提示虚拟摄像头调用功能已被占用。
在另一些实施例中,在第二应用请求调用第二虚拟摄像头时,若虚拟摄像头模块已被第一应用占用,第一设备可以询问用户是否切换至第二应用调用虚拟摄像头。基于此,第一设备可以根据用户指令继续控制第一应用调用虚拟摄像头,也可以换至第二应用通过虚拟摄像头模块来调用虚拟摄像头。
或者,第一设备可以自动将调用虚拟摄像头的应用由第一应用切换至第二应用。以第一应用是畅连应用,第二应用是相机应用为例,在畅连应用使用手机的第一虚拟摄像头的过程中,第一设备若检测到用户打开相机应用的操作,将自动调用虚拟摄像头的应用程序由畅连应用切换至相机应用。
需要说明的是,第一操作事件控制第一应用调用的第一本地摄像头和第二操作事件控制第二应用调用的即第二本地摄像头可以相同,例如,第一本地摄像头、第二本地摄像头可以均是第一设备的前置摄像头;也可以不同,例如,第一本地摄像头、第二本地摄像头中可以一个是前置摄像头,另一个是后置摄像头。若第一本地摄像头和第二本地摄像头相同,则第一虚拟摄像头和第二虚拟摄像头相同。若第一本地摄像头和第二本地摄像头不相同,则第一虚拟摄像头和第二虚拟摄像头不相同。
示例2:第一应用为第一类应用程序,第二应用为第二类应用程序。
换而言之,第一应用具备虚拟摄像头调用权限,第二应用不具备虚拟摄像头调用权限。示例性的,该第一应用是畅连应用,第二应用是镜子应用。第一应用和第二应用同时调用摄像头的过程包括如下内容(1)和(2)。
(1)第一应用调用第一虚拟摄像头采集图像。
具体地,用户可以针对第一应用触发第一操作事件。该第一操作事件用于指示第一应用调用第一设备的第一本地摄像头采集图像。以第一应用是畅连应用为例,第一操作事件可以为用户操作畅连应用邀请好友进行视频通话。由于第一设备具备虚拟摄像头调用权限,因此,第一设备根据映射关系表确定该第一本地摄像头对应的第一虚拟摄像头,并通过虚拟摄像头模块调用该第一虚拟摄像头为该第一应用采集图像。具体调用过程请参见前文描述,此处不再赘述。
(2)在第一应用调用第一虚拟摄像头采集图像的过程中,第二应用调用第二本地摄像头采集图像。
具体地,在第一应用调用第一虚拟摄像头采集图像的过程中,用户可以针对第二应用触发第二操作事件。该第二操作事件用于指示第二应用调用第一设备的第二本地摄像头。以第二应用是镜子应用为例,第二操作事件可以是用户点击镜子应用的应用图标。由于第二应用不具备虚拟摄像头调用权限,因此,第一设备直接通过本地摄像头模块调用第二本地摄像头为第二应用采集图像。具体调用过程请参见前文描述,此处不再赘述。
基于上述描述可知,由于第一设备的硬件抽象层同时设置了本地摄像头模块和虚拟摄像头模块,且这两个摄像头模块可以并行独立工作,互不影响,因此,第一设备在多设备协同的过程中可以实现同时调用本地摄像头和虚拟摄像头。以第一设备手机为例,当手机与平板电脑建立多屏协同关系之后,若手机处于熄灭锁定屏状态且支持人脸识别解锁,那么手机可以通过本地摄像头模块调用本地摄像头去采集用户图像,从而进行人脸识别解锁。
示例3:第一应用为第二类应用程序,第二应用为第一类应用程序。
换而言之,第一应用不具备虚拟摄像头调用权限,第二应用具备虚拟摄像头调用权限。示例性的,第一应用为镜子应用,第二应用为畅连应用。第一应用和第二应用同时调用摄像头的过程包括如下内容(1)和内容(2)。
(1)第一应用调用第一本地摄像头采集图像。
具体地,用户可以针对第一应用触发第一操作事件。该第一操作事件用于指示第一应用调用第一设备的第一本地摄像头采集图像。以第一应用是镜子应用为例,第一操作事件可以为用户点击镜子应用的应用图标。由于第一设备不具备虚拟摄像头调用权限,因此,第一设备直接通过本地摄像头模块调用该第一本地摄像头为该第一应用采集图像。具体调用过程请参见前文描述,此处不再赘述。
(2)在第一应用调用第一本地摄像头采集图像的过程中,第二应用调用第二虚拟摄像头采集图像。
具体地,用户可以针对第二应用触发第二操作事件。该第二操作事件用于指示第二应用调用第一设备的第二本地摄像头采集图像。以第二应用是畅连应用为例,第二操作事件可以为用户畅连应用中好友1的视频聊天控件。由于第二应用具备虚拟摄像头调用权限,因此,第一设备确定第二本地摄像头对应的第二虚拟摄像头,并通过虚拟摄像头模块调用第二虚拟摄像头为第二应用采集图像。体调用过程请参见前文描述,此处不再赘述。
示例4:第一应用和第二应用均为第二类应用程序。
换而言之,第一应用和第二应用均不具备虚拟摄像头调用权限。示例性的,第一应用为镜子应用,第二应用为相机应用。第一应用和第二应用同时调用摄像头的过程包括如下内容(1)和内容(2)。
(1)第一应用调用第一本地摄像头采集图像。
具体地,用户可以针对第一应用触发第一操作事件。该第一操作事件用于指示第一应用调用第一设备的第一本地摄像头采集图像。以第一应用是镜子应用为例,第一操作事件可以为用户点击镜子应用的应用图标。由于第一设备不具备虚拟摄像头调用权限,因此,第一设备直接通过本地摄像头模块调用该第一本地摄像头为该第一应用采集图像。具体调用过程请参见前文描述,此处不再赘述。
(2)在第一应用调用第一本地摄像头采集图像的过程中,第二应用调用第二本地摄像头失败,或者,由第一应用切换至第二应用调用本地摄像头。
在一些实施例中,在第一应用调用第一本地摄像头采集图像的过程中,用户可以针对第二应用触发第二操作事件。该第二操作事件用于指示第二应用调用第一设备的第二本地摄像头。以第二应用是相机应用为例,第二操作事件可以是用户相机应用的应用图标。由于第二应用不具备虚拟摄像头调用权限,因此,第一设备需要调用第二本地摄像头为第二应用采集图像。但是,第二负责调用本地摄像头的本地摄像头模块已被第一应用占用,因此第二应用调用第二本地摄像头失败。
在另一些实施例中,在第二应用请求调用第二本地摄像头时,若本地摄像头模块已被第一应用占用,第一设备可以询问用户是否切换第二应用调用本地摄像头。第一设备可以根据用户指令继续控制第一应用调用第一本地摄像头,或者换至第二应用来调用第二本地摄像头。
或者,第一设备可以将调用本地摄像头的应用由第一应用切换至第二应用。以第一应用是镜子应用,第二应用是相机应用为例,在镜子应用使用第一本地摄像头的过程中,第一设备若检测到用户打开相机应用的操作,将自动调用本地摄像头的应用程序由畅连应用切换至相机应用。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例还提供一种电子设备,该电子设备包括本地摄像头、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述各个实施例中示出的摄像头调用方法。
本申请实施例还提供一种芯片,参见图14所示,该芯片包括处理器和存储器,该存储器中存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的摄像头调用方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中提供的虚拟摄像头调用方法。
本申请实施例还提供一种计算机程序产品,该程序产品包括计算机程序,当该计算机程序被电子设备运行时,使得电子设备实现上述各实施例中提供的摄像头调用方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在本申请所提供的实施例中,各个框架或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个框架或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (16)
1.一种摄像头调用方法,其特征在于,应用于第一设备,所述第一设备安装有应用,所述方法包括:
接收操作事件,所述操作事件用于指示所述应用调用本地摄像头,所述本地摄像头为所述第一设备的摄像头;
若所述应用具备虚拟摄像头调用权限,响应于所述第一设备与第二设备具备多设备协同关系,确定所述本地摄像头对应的虚拟摄像头,支持所述应用调用所述虚拟摄像头采集图像,所述虚拟摄像头为所述第二设备的摄像头,所述本地摄像头与所述虚拟摄像头具有映射关系;
若所述应用不具备所述虚拟摄像头调用权限,支持所述应用直接调用所述本地摄像头采集图像。
2.根据权利要求1所述的方法,其特征在于,所述多设备协同关系包括:所述第一设备向所述第二设备发送所述第一设备的第一屏幕内容,所述第一屏幕内容包括所述应用的相关内容,所述第二设备显示所述第一屏幕内容;
所述接收操作事件包括:接收所述第二设备发送的所述操作事件,所述操作事件是在所述第二设备显示的所述第一屏幕内容中触发的。
3.根据权利要求2所述的方法,其特征在于,所述支持所述应用调用所述虚拟摄像头采集图像之后,所述方法还包括:
根据所述虚拟摄像头采集到的图像更新所述第一屏幕内容;
向所述第二设备发送更新后的所述第一屏幕内容。
4.根据权利要求1~3任一项所述的方法,其特征在于,若所述应用具备虚拟摄像头调用权限,响应于所述第一设备与第二设备具备多设备协同关系,支持所述应用调用所述虚拟摄像头采集图像之后,所述方法还包括:
所述第一设备与所述第二设备断开所述多设备协同关系;将所述虚拟摄像头切换为所述本地摄像头,支持所述应用直接调用所述本地摄像头采集图像。
5.根据权利要求1~3任一项所述的方法,其特征在于,若所述应用具备虚拟摄像头调用权限,响应于所述第一设备与第二设备具备多设备协同关系,支持所述应用调用所述虚拟摄像头采集图像包括:
接收所述操作事件;
支持所述应用直接调用所述本地摄像头采集图像;
所述第一设备与所述第二设备建立多设备协同关系;
将所述本地摄像头切换为所述虚拟摄像头,支持所述应用调用所述虚拟摄像头采集图像。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述应用包括第一应用和第二应用,所述第一应用具备虚拟摄像头调用权限,所述第二应用不具备虚拟摄像头调用权限,所述操作事件包括指示所述第一应用调用第一本地摄像头的第一操作事件及指示所述第二应用调用第二本地摄像头的第二操作事件,所述第一本地摄像头和所述第二本地摄像头为相同或者不同的本地摄像头,所述方法还包括:
所述第一设备与所述第二设备建立多设备协同关系;
接收所述第一操作事件;
确定所述第一本地摄像头对应的第一虚拟摄像头,支持所述第一应用调用所述第一虚拟摄像头采集图像;
接收所述第二操作事件;
支持所述第二应用直接调用所述第二本地摄像头采集图像。
7.根据权利要求1~5任一项所述的方法,其特征在于,所述应用包括第一应用和第二应用,所述第一应用和所述第二应用均具备虚拟摄像头调用权限,所述操作事件包括指示所述第一应用调用第一本地摄像头的第一操作事件及指示所述第二应用调用第二本地摄像头的第二操作事件,所述方法还包括:
所述第一设备与所述第二设备建立多设备协同关系;
接收所述第一操作事件;
确定所述第一本地摄像头对应的第一虚拟摄像头,支持所述第一应用调用所述第一虚拟摄像头采集图像;
接收所述第二操作事件;
显示第一提示信息,所述第一提示信息用于提示虚拟摄像头调用功能已被占用;或者,
停止支持所述第一应用调用所述第一虚拟摄像头采集图像,确定所述第二本地摄像头对应的第二虚拟摄像头,支持所述第二应用调用所述第二虚拟摄像头采集图像;
其中,所述第一本地摄像头和所述第二本地摄像头为相同的本地摄像头,且所述第一虚拟摄像头和所述第二虚拟摄像头为相同的虚拟摄像头;或者,所述第一本地摄像头和所述第二本地摄像头为不同的本地摄像头,且所述第一虚拟摄像头和所述第二虚拟摄像头为不同的虚拟摄像头。
8.根据权利要求1~5任一项所述的方法,其特征在于,所述应用包括第一应用和第二应用,所述第一应用不具备虚拟摄像头调用权限,所述第二应用具备虚拟摄像头调用权限,所述操作事件包括指示所述第一应用调用第一本地摄像头的第一操作事件及指示所述第二应用调用第二本地摄像头的第二操作事件,所述第一本地摄像头和所述第二本地摄像头为相同或者不同的本地摄像头,所述方法还包括:
所述第一设备与所述第二设备建立多设备协同关系;
接收所述第一操作事件;
支持所述第一应用直接调用所述第一本地摄像头采集图像;
接收所述第二操作事件;
确定所述第二本地摄像头对应的第二虚拟摄像头,支持所述第二应用调用所述第二虚拟摄像头采集图像。
9.根据权利要求1~5任一项所述的方法,其特征在于,所述应用包括第一应用和第二应用,所述第一应用和所述第二应用均不具备虚拟摄像头调用权限,所述操作事件包括指示所述第一应用调用第一本地摄像头的第一操作事件及指示所述第二应用调用第二本地摄像头的第二操作事件,所述第一本地摄像头和所述第二本地摄像头为相同或者不同的本地摄像头,所述方法还包括:
接收所述第一操作事件;
支持所述第一应用直接调用所述第一本地摄像头采集图像;
接收所述第二操作事件;
显示第二提示信息,所述第二提示信息用于提示本地摄像头调用功能已被占用;或者,
停止支持所述第一应用直接调用所述第一本地摄像头采集图像,并支持所述第二应用直接调用所述第二本地摄像头采集图像。
10.根据权利要求1~9任一项所述的方法,其特征在于,所述确定所述本地摄像头对应的虚拟摄像头包括:
根据映射关系表确定所述本地摄像头对应的虚拟摄像头,所述映射关系表包括至少一组本地摄像头和虚拟摄像头的映射关系。
11.根据权利要求10所述的方法,其特征在于,
所述至少一组本地摄像头和虚拟摄像头的映射关系包括:
第一本地摄像头和第一虚拟摄像头的映射关系;以及,
第二本地摄像头和第二虚拟摄像头的映射关系;
其中,所述第一本地摄像头和所述第二本地摄像头为不同的本地摄像头,所述第一虚拟摄像头和所述第二虚拟摄像头为不同的虚拟摄像头。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备与所述第二设备建立多设备协同关系;
接收所述第二设备发送的虚拟摄像头的标识信息;
根据本地摄像头的标识信息和所述虚拟摄像头的标识信息确定所述映射关系。
13.根据权利要求1~11任一项所述的方法,其特征在于,所述第一设备包括用于并行处理的本地摄像头模块和虚拟摄像头模块,所述本地摄像头模块用于调用所述本地摄像头,所述虚拟摄像头模块用于调用所述虚拟摄像头。
14.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~13任一项所述的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~13任一项所述的方法。
16.一种芯片,其特征在于,所述芯片包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1~13任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211073229.9A CN117714854A (zh) | 2022-09-02 | 2022-09-02 | 摄像头调用方法、电子设备、可读存储介质和芯片 |
PCT/CN2023/111068 WO2024046028A1 (zh) | 2022-09-02 | 2023-08-03 | 摄像头调用方法、电子设备、可读存储介质和芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211073229.9A CN117714854A (zh) | 2022-09-02 | 2022-09-02 | 摄像头调用方法、电子设备、可读存储介质和芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117714854A true CN117714854A (zh) | 2024-03-15 |
Family
ID=90100362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211073229.9A Pending CN117714854A (zh) | 2022-09-02 | 2022-09-02 | 摄像头调用方法、电子设备、可读存储介质和芯片 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117714854A (zh) |
WO (1) | WO2024046028A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11374936B2 (en) * | 2017-08-11 | 2022-06-28 | Motorola Solutions, Inc | System, device, and method for transferring security access permissions between in-camera users |
US10897564B1 (en) * | 2019-06-17 | 2021-01-19 | Snap Inc. | Shared control of camera device by multiple devices |
CN112969024B (zh) * | 2020-06-30 | 2022-03-11 | 华为技术有限公司 | 一种摄像头的调用方法、电子设备和摄像头 |
CN112597484A (zh) * | 2020-07-16 | 2021-04-02 | 同方股份有限公司 | 隐私保护方法、装置、智能终端和存储介质 |
CN114296948A (zh) * | 2020-09-21 | 2022-04-08 | 荣耀终端有限公司 | 一种跨设备调用应用的方法及电子设备 |
CN114554000B (zh) * | 2020-11-20 | 2023-06-20 | 华为终端有限公司 | 摄像头调用方法、系统、电子设备及存储介质 |
CN113852833B (zh) * | 2021-08-30 | 2024-03-22 | 阿里巴巴(中国)有限公司 | 多设备协同直播方法、装置及电子设备 |
-
2022
- 2022-09-02 CN CN202211073229.9A patent/CN117714854A/zh active Pending
-
2023
- 2023-08-03 WO PCT/CN2023/111068 patent/WO2024046028A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024046028A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021051989A1 (zh) | 一种视频通话的方法及电子设备 | |
EP3934292A1 (en) | Bluetooth connection method, device and system | |
WO2021036809A1 (zh) | 一种sim模块的管理方法及电子设备 | |
JP7369281B2 (ja) | デバイス能力スケジューリング方法および電子デバイス | |
EP4120074A1 (en) | Full-screen display method and apparatus, and electronic device | |
WO2022100610A1 (zh) | 投屏方法、装置、电子设备及计算机可读存储介质 | |
WO2021043219A1 (zh) | 一种蓝牙回连方法及相关装置 | |
CN113687803A (zh) | 投屏方法、投屏源端、投屏目的端、投屏系统及存储介质 | |
WO2021017909A1 (zh) | 一种通过nfc标签实现功能的方法、电子设备及系统 | |
CN111866950A (zh) | Mec中数据传输的方法和通信装置 | |
EP4192057A1 (en) | Bluetooth communication method, wearable device, and system | |
US11843712B2 (en) | Address book-based device discovery method, audio and video communication method, and electronic device | |
US20230189366A1 (en) | Bluetooth Communication Method, Terminal Device, and Computer-Readable Storage Medium | |
US20230350629A1 (en) | Double-Channel Screen Mirroring Method and Electronic Device | |
CN114697955A (zh) | 一种加密通话方法、装置、终端及存储介质 | |
CN114691059A (zh) | 一种投屏显示方法及电子设备 | |
CN115022849B (zh) | 基于Wi-Fi P2P的数据传输方法及电子设备 | |
CN113365274B (zh) | 一种网络接入方法和电子设备 | |
CN114928898B (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN115550423A (zh) | 数据通信方法、电子设备及存储介质 | |
CN117714854A (zh) | 摄像头调用方法、电子设备、可读存储介质和芯片 | |
CN116700556B (zh) | 卡片生成方法及相关装置 | |
WO2023051204A1 (zh) | 跨设备连接方法、电子设备及存储介质 | |
WO2024067432A1 (zh) | 一种音频传输方法、系统以及相关装置 | |
WO2023025059A1 (zh) | 一种通信系统及通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |