CN117177059A - 用于视频通话的相机控制方法、电子设备及存储介质 - Google Patents
用于视频通话的相机控制方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117177059A CN117177059A CN202311403692.XA CN202311403692A CN117177059A CN 117177059 A CN117177059 A CN 117177059A CN 202311403692 A CN202311403692 A CN 202311403692A CN 117177059 A CN117177059 A CN 117177059A
- Authority
- CN
- China
- Prior art keywords
- camera
- application
- video call
- screen
- released
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims description 57
- 230000000694 effects Effects 0.000 claims description 47
- 230000006870 function Effects 0.000 claims description 38
- 241000592183 Eidolon Species 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 16
- 238000010791 quenching Methods 0.000 claims description 4
- 230000001629 suppression Effects 0.000 claims description 2
- 239000000758 substrate Substances 0.000 claims 1
- 238000010438 heat treatment Methods 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 23
- 230000003993 interaction Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010259 detection of temperature stimulus Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009533 lab test Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请提供了一种用于视频通话的相机控制方法、电子设备及存储介质,涉及终端技术领域。在第一设备与第二设备进行视频通话时,若第一设备灭屏,则第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当确定相机资源未被释放时,第一设备关闭相机应用并做相机下电处理,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当从灭屏变为亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。本方案可以在视频通话的灭屏场景中主动关闭相机,释放相机资源,进入相机低功耗模式,可避免由于相机应用运行导致的发热,降低功耗。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种用于视频通话的相机控制方法、电子设备及存储介质。
背景技术
在实际情况中,在设备1和设备2使用诸如微信®等软件进行视频通话时,由于种种原因会出现在未挂断视频通话的情况下设备1侧灭屏的场景。在该场景下,设备1存在温度上升以及功耗浪费的问题。
发明内容
本申请提供一种用于视频通话的相机控制方法、电子设备及存储介质,解决了现有技术中在视频通话时设备灭屏后出现设备温度上升以及功耗浪费的问题。
第一方面,本申请提供一种用于视频通话的相机控制方法,该方法包括:
第一设备启用第一应用(该第一应用具有视频通话功能),第一设备基于第一应用建立第一设备与第二设备之间的视频通话。第一设备启用相机应用,并将相机应用启用的广播被发送给第一应用。第一设备通过显示屏显示视频通话的第一界面,该视频通话的第一界面中包括第一应用从相机应用获取的第一图像;该第一图像是相机应用调用第一设备的摄像头采集的图像。
在视频通话过程中,当检测到对显示屏的主动灭屏操作时,第一设备控制显示屏熄灭,并启用计时器。当计时器达到预设阈值时,第一设备确定相机资源是否被释放。在第一设备确定相机资源未被释放的情况下,第一设备记录第一相机参数(第一相机参数为相机应用在被关闭前所采用的配置参数)并抑制向第一应用发送广播;第一设备关闭相机应用并做相机硬件下电处理,第一应用未接收到相机应用被关闭的广播。
当第一设备检测到对显示屏的点亮操作时,第一设备点亮显示屏,并且基于第一相机参数启用相机应用并做相机硬件上电处理,并在视频通话的第一界面中显示基于第一相机参数采集的图像。
通过本申请实施例提供的用于视频通话的相机控制方法,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当确定相机资源未被释放时,第一设备关闭相机应用并做相机下电处理,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。通过本方案,可以在视频通话的灭屏场景中主动关闭相机,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
基于检测数据和日志分析,本申请发现设备温度上升的原因为:在灭屏后,由于上层应用没有正常下发关闭相机的命令,灭屏后因中核负载降低,当前应用相关进程全部跑到小核,导致小核负载增加,再加上相机持续工作,造成温度升高。
也就是说,在视频通话场景下,相机处于使用状态,在设备灭屏后,相机未关闭,引起CPU负载增加,设备温度上升,功耗恶化现象。针对此场景,本申请提出的解决方案是主动关闭相机,进入相机低功耗模式,释放相机资源,改善用户的使用体验,优化功耗并减少设备发热。经过数据检测和数据分析发现,通过本申请方案,电流有明显降低,CPU小核负载下降明显。
在本申请实施例中,针对在视频通话期间灭屏后相机未关闭的场景,根据实际情况关闭相机,释放相机资源,节省能耗并且避免设备发热。其中,通过抑制相机相关广播,第一设备前台显示的视频通话应用接收到不到相机相关广播,因此也不会因为相机被关闭而受影响。也就是说,通过抑制相机相关广播,确保第一设备的前台应用不受影响。
需要说明的是,在本申请实施例中,相机相关模块(如相机服务模块、相机HAL模块等)可以提供单独的“关闭接口”,这样可以防止由于“相机锁”被上层应用持有而导致相机关闭失败。
还需要说明的是,在本申请实施例中,在视频通话场景灭屏后,因为亮屏锁被前台应用持有,系统并不会进入锁屏流程,因此当触发亮屏时,第一设备直接亮屏,不走解锁流程。也就是说,灭屏后关闭相机,无需考虑对人脸解锁功能的影响。
在一种可能实现方式中,在确定相机资源未被释放的情况下,所述方法还包括:第一设备停止运行相机应用的相关进程。相应地,在基于第一相机参数启用相机应用之后,所述方法还包括:第一设备恢复运行相机应用的相关进程。
通过上述方案,当第一设备的显示屏从亮屏到灭屏时,如果确定相机资源未被释放,那么第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,并冻结相机应用的相关进程,由此达到降低功耗的目的。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,例如根据相机应用在被关闭前所采用的配置参数来配置相机,并解冻相机应用的相关进程,由此将相机快速恢复到正常使用状态。由此在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
在一种可能实现方式中,上述第一设备基于第一应用,建立第一设备与第二设备之间的视频通话,包括:当第一设备检测到选中第二设备并启用视频通话功能的操作时,第一设备建立第一设备与第二设备之间的视频通话。通过上述方案,第一应用具有视频通话功能,在设备已启用第一应用的情况下,用户通过触发启用视频通话功能,可实现在两个设备之间建立视频通话。
在一种可能实现方式中,第一相机参数包括以下至少一项:图像格式、分辨率、传感器控制参数、是否启用闪光灯、自动白平衡参数、自动增益控制参数、自动曝光控制参数。
通过上述方案,当显示屏从灭屏到亮屏时,第一设备基于第一相机参数来启用相机应用,由此将相机快速恢复到正常使用状态,提升了用户使用体验。
在一种可能实现方式中,所述方法还包括:在第一设备启用第一应用的情况下,第一设备将第一应用添加到第一监听列表中。
在一种可能实现方式中,所述方法还包括:在第一设备关闭相机应用的情况下,第一设备从第一监听列表中移除第一应用,该第一监听列表中记录了允许调用相机应用的应用程序。其中,在第一应用从第一监听列表中被移除的情况下,相机应用被关闭的广播不发送给第一应用。
在一种可能实现方式中,所述方法还包括:在第一设备从第一监听列表中移除第一应用之后,在第一设备基于第一相机参数启用相机应用的情况下,第一设备重新将第一应用添加到第一监听列表中。
通过上述方案,当第一设备的显示屏从亮屏到灭屏时,如果确定相机资源未被释放,那么第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,停止运行相机应用的相关进程,以及从第一监听列表中移除第一应用,以抑制相机应用关闭的广播被发送给第一应用,由此达到降低功耗的目的。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,例如根据相机应用在被关闭前所采用的配置参数来配置相机,并恢复运行相机应用的相关进程,并恢复广播,由此将相机快速恢复到正常使用状态。由此在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
在一种可能实现方式中,第一设备包括相机活动管理器,该相机活动管理器用于监听相机应用的活动。相机活动管理器可以将监听到的内容以广播的方式发送给第一监听列表中的第一应用。
情况一:当相机活动管理器监听到相机应用被启用时,相机活动管理器将相机应用已启用的广播发送给第一应用。在此情况下,第一应用被允许调用相机应用。
情况二:当相机活动管理器监听到相机应用被关闭时,相机活动管理器将相机应用已关闭的广播发送给第一应用。在此情况下,第一应用被禁止调用相机应用。
在一种可能实现方式中,当第一设备检测到对显示屏的点亮操作时,第一设备点亮显示屏,并且基于第一相机参数启用相机应用,包括:当第一设备检测到对显示屏的点亮操作时,第一设备点亮显示屏并显示视频通话的第一界面;第一设备判断相机资源是否被释放;在第一设备确定相机资源未被释放的情况下,第一设备基于第一相机参数启用相机应用。
在一种可能实现方式中,在第一设备基于第一相机参数启用相机应用之后,所述方法还包括:当第一设备检测到对视频通话的挂断操作时,或者当视频通话被第二设备侧挂断时,第一设备关闭相机应用。在此情况下,第一应用会接收到相机应用被关闭的广播。相应地,第一设备会释放相机资源。
在一种可能实现方式中,所述当计时器达到预设阈值时,第一设备确定相机资源是否被释放,包括:当计时器达到预设阈值时,第一设备检测视频通话是否已挂断。然后根据视频通话是否已挂断的情况,判断相机资源是否被释放。
情况一:当视频通话未挂断时,第一设备确定相机资源未被释放。
情况二:当视频通话已挂断时,第一设备确定相机资源被释放。
在一种可能实现方式中,所述在第一设备关闭相机应用之后,所述方法还包括:第一设备向第二设备发送第二图像,以指示第二设备在视频通话的第二界面显示第二图像;其中,第二图像为图片格式的预设图像。
在一种可能实现方式中,在第一设备启用相机应用之后,方法还包括:在相机应用调用摄像头采集第一图像的情况下,第一设备将第一图像发送给第二设备,以指示第二设备在视频通话的第二界面显示第一图像;其中,第一图像为视频格式的图像。
需要说明的是,在本申请实施例中,在视频通话期间的亮屏场景,第一设备会在缓存器(buffer)中存储视频格式的图像(或者称为视频内容),以便由视频通话应用调用并将视频内容显示于视频通话的界面中。在灭屏后,在第一设备侧关闭相机之前,第一设备主动将缓存器置为空(null),保证最后一帧输出的图片为黑色,防止关闭相机后通话对方的画面停留在视频内容,可提升用户使用体验。
在一种可能实现方式中,所述方法还包括:在第一设备关闭相机应用的情况下,当第一设备检测到显示屏处于熄灭状态,且视频通话被第二设备挂断时,第一设备自动点亮显示屏,并释放相机资源,该相机资源包括第一相机参数。在此情况下,相机应用会保持关闭状态。
在一种可能实现方式中,所述方法还包括:当计时器达到预设阈值时,若第一设备检测到视频通话已挂断,则第一设备关闭相机应用并释放相机资源。
在一种可能实现方式中,第一设备包括省电精灵应用程序、相机服务模块和电源管理服务模块。
视频通话中灭屏后关闭相机应用的场景:
所述第一设备检测到对显示屏的主动灭屏操作,包括:电源管理服务模块检测到对显示屏的主动灭屏操作;电源管理服务模块广播灭屏消息;省电精灵应用程序接收到灭屏消息;
所述第一设备启用计时器,当计时器达到预设阈值时,第一设备确定相机资源是否被释放,包括:省电精灵应用程序启用计时器;当计时器达到预设阈值时,省电精灵应用程序确定相机资源是否被释放。
所述第一设备记录第一相机参数并抑制向所述第一应用发送广播,包括:省电精灵应用程序从相机服务模块获取第一相机参数;省电精灵应用程序向相机活动管理器发送广播抑制消息;相机活动管理器响应于广播抑制消息,从第一监听列表中移除第一应用。
需要说明的是,如果在视频通话时显示屏被用户熄灭,那么电源管理服务模块会广播灭屏消息,省电精灵应用程序可以接收到灭屏消息。当省电精灵应用程序判断当前灭屏场景相机资源未被释放时,省电精灵应用程序向相机服务模块下发相机关闭命令。
在此情况下,相机服务模块关闭相机应用,并对相机资源执行特定处理,例如:相机服务模块记录相机应用在被关闭前所采用的配置参数。再例如,相机服务模块存储相机应用的相关进程。再例如,相机服务模块从第一监听列表中移除第一应用,以抑制相机应用关闭的广播被发送给第一应用。在从第一监听列表中移除第一应用之后,第一应用接收不到相机应用关闭的广播。
视频通话中亮屏后启用相机应用的场景:
所述第一设备检测到对显示屏的点亮操作,包括:电源管理服务模块检测到对所述显示屏的主动亮屏操作;电源管理服务模块广播亮屏消息;省电精灵应用程序接收到亮屏消息。
所述第一设备基于第一相机参数启用相机应用,包括:响应于亮屏消息,省电精灵应用程序向相机服务模块发送相机启用命令;相机服务模块根据相机启用命令,基于第一相机参数启用相机应用,并激活相机应用的相关进程;相机服务模块将第一应用添加到第一监听列表中。
需要说明的是,如果在视频通话时显示屏被用户点亮,那么电源管理服务模块会广播亮屏消息,省电精灵应用程序可以接收到亮屏消息。响应于亮屏消息,省电精灵应用程序向相机服务模块下发相机启用命令。
在此情况下,由于相机服务模块在关闭相机应用时对相机资源执行了特定处理,因此响应于相机启用命令,相机服务模块可以基于相机应用在被关闭前所采用的配置参数,快速启用相机应用;并且相机服务模块可以快速激活相机应用的相关进程。另外,相机服务模块重新将第一应用添加到第一监听列表中。这样,相机活动管理器可以向第一应用广播相机应用的活动状态,由此恢复广播发送。
第二方面,本申请提供一种用于视频通话的相机控制装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器、处理器以及存储器中存储的计算机程序或指令,处理器用于执行计算机程序或指令,使得第一方面中的方法被执行。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。可选地,所述芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被电子设备执行时使得电子设备实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的两个设备进行视频通话的场景示意图一;
图2为本申请实施例提供的两个设备进行视频通话的场景示意图二;
图3为本申请实施例提供的两个设备进行视频通话的场景示意图三;
图4为本申请实施例提供的一种电子设备的结构示意图;
图5为本申请实施例提供的一种电子设备的软件架构示意图;
图6为本申请实施例提供的一种用于视频通话的相机控制方法的流程示意图;
图7为本申请实施例提供的一种用于视频通话的相机控制方法的时序图一;
图8为本申请实施例提供的一种用于视频通话的相机控制方法的时序图二;
图9为本申请实施例提供的一种用于视频通话的相机控制方法的时序图三;
图10为本申请实施例提供的一种用于视频通话的相机控制方法的时序图四;
图11为本申请实施例提供的一种用于视频通话的相机控制方法的时序图五;
图12为本申请实施例提供的一种用于视频通话的相机控制装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在实际情况中,在设备1和设备2使用诸如微信®等软件进行视频通话时,由于种种原因会出现在未挂断视频通话的情况下设备1侧灭屏的场景。在该场景下由于设备1侧未能正常关闭相机的调用,导致设备1侧的相机一直处于工作状态,引起设备1(如手机)存在温度上升以及功耗浪费的问题。
鉴于此,本申请实施例提供一种用于视频通话的相机控制方法及电子设备,通过该相机控制方法,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当确定相机资源未被释放时,第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。通过本方案,可以在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
下面结合视频通话的场景示意图对本申请提供的用于视频通话的相机控制方法进行说明。
图1示出了设备1和设备2通过视频通话应用(即第一应用)进行视频通话时的场景示意图。其中,图1中的(a)至(c)示出了设备1侧通过视频通话应用发起视频通话、成功建立视频通话、视频通话中灭屏等各阶段的界面示意图。图1中的(d)至(f)示出了设备2侧通过视频通话应用接受视频通话、成功建立视频通话等各阶段的界面示意图。
先看设备1侧,如图1中的(a)所示,设备1显示设备1与设备2的聊天界面11,响应于用户1对视频通话控件12的操作,设备1向设备2发送视频通话的邀请。再看设备2侧,如图1中的(d)所示,设备2侧接收到设备1侧发送的视频通话邀请,响应于用户2对接受视频通话控件21的操作,设备2向设备1发送同意视频通话的消息。由此,设备1和设备2之间建立视频通话。
先看设备1侧,如图1中的(b)所示,设备1显示设备1与设备2的视频通话界面13,在视频通话界面13中显示有设备1侧的画面以及设备2侧的画面。再看设备2侧,如图1中的(e)所示,设备2显示设备1与设备2的视频通话界面23,在视频通话界面23中显示有设备1侧的画面以及设备2侧的画面。
其中,设备1侧和设备2侧通过视频通话应用建立视频通话,在建立视频通话的情况下,设备1侧拉起相机应用,相机应用可以调用摄像头采集图像,得到设备1侧的画面,显示于视频通话界面13中。设备1侧还将设备1侧的画面发送给设2侧,以显示于视频通话界面23中。
先看设备1侧,如图1中的(b)和(c)所示,响应于用户触发灭屏的操作(例如按压电源键),设备1侧从显示视频通话界面13变化为灭屏状态,即设备1侧不显示视频通话界面。再看设备2侧,如图1中的(e)和(f)所示,在设备1侧灭屏后,设备2侧继续显示视频通话界面。
需要说明的是,设备1侧在灭屏前和灭屏后,相机应用均处于使用状态,存在非必要耗电及设备发热的问题。
为了解决在未挂断视频通话的情况下设备灭屏出现的温度上升以及功耗浪费的问题,在本申请实施例中,针对上述场景进行温度及耗电的检测,并分析相关日志,从而找到问题的原因所在。
举例来说,在未挂断视频通话的情况下,设备1侧灭屏,通过温度检测和耗电检测发现:灭屏后10分钟,设备1的温度上升至47℃,并且耗电6%。
分析日志发现,手机灭屏后相机依然处于打开状态,并且灭屏后视频通话应用的进程负载上升明显。
基于上述检测数据和日志分析,本申请发现温度上升的原因为:在灭屏后,由于上层应用没有正常下发关闭相机的命令,灭屏后因中核负载降低,当前应用相关进程全部跑到小核,导致小核负载增加,再加上相机持续工作,造成温度升高。
也就是说,在视频通话场景下,相机处于使用状态,在设备灭屏后,相机未关闭,引起CPU负载增加,设备温度上升,功耗恶化现象。针对此场景,本申请提出解决方案:可以主动关闭相机,进入相机低功耗模式,释放相机资源,改善用户的使用体验,优化功耗并减少设备发热。
需要说明的是,这里所述的相机包括软件和硬件两方面,相机包括相机软件(例如相机应用等软件)和相机硬件(例如摄像头和图像传感器等硬件)。其中,“相机未关闭”指相机软件未关闭和相机硬件未下电。
图2示出了设备1和设备2通过视频通话应用进行视频通话时的另一场景示意图。与图1类似,图2中的(a)至(c)示出了设备1侧通过视频通话应用发起视频通话、成功建立视频通话、视频通话中灭屏等各阶段的界面示意图,图2中的(d)至(f)示出了设备2侧通过视频通话应用接受视频通话、成功建立视频通话等各阶段的界面示意图。
图2与图1之间的不同之处在于:在图2中,设备1侧在灭屏前相机处于使用状态,在灭屏后相机被关闭,这样可以避免非必要耗电及设备发热的问题。
图2与图1之间的不同之处还在于:在图2中,由于设备1侧在灭屏后相机被关闭,设备1侧停止摄像头采集画面,因此设备2侧显示视频通话界面25,该视频通话界面25中关于设备1侧的画面发生变化,例如显示灰色或黑色等背景画面,该背景画面中显示图片,该图片可以是设备1侧提供的预设图像。
上面通过图2说明了在视频通话场景下设备灭屏后关闭相机的情况。下面通过图3说明在视频通话场景下设备灭屏后关闭相机、以及在亮屏后启用相机的情况。
图3示出了设备1和设备2通过视频通话应用进行视频通话时的再一场景示意图。与图2类似,图3中的(a)至(c)示出了设备1侧通过视频通话应用成功建立视频通话、视频通话中灭屏、视频通话中亮屏等各阶段的界面示意图,图3中的(d)至(f)示出了设备2侧通过视频通话应用成功建立视频通话、视频通话中设备1侧灭屏、视频通话中设备1侧亮屏等各阶段的界面示意图。
图3与图2之间的不同之处在于:在图3中,设备1侧在灭屏后相机被关闭,在触发亮屏的情况下,设备1侧点亮显示屏并在亮屏后相机被启用,这样可以使得视频通话快速恢复到正常状态。由于设备1侧在亮屏后相机被恢复启用,设备1侧继续调用相机的摄像头采集设备1侧的画面,相应地,设备2侧恢复显示设备1侧的画面。
需要说明的是,通过上述图2和图3简单说明了本申请实施例提供的用于视频通话的相机控制方法在应用于手机时的界面显示情况。下文中将详细说明本申请实施例提供的用于视频通话的相机控制方法的具体实现方式。本申请方案的改进主要体现在软件上的改进,下文中将对改进点进行详细说明。
本申请对本申请实施例提供的用于视频通话的相机控制方法进行了实验室测试,在视频通话中,设备1侧被触发灭屏,设备1侧按照本申请提供的方法关闭相机;然后,设备1侧被触发亮屏,设备1侧按照本申请提供的方法启用相机。经过数据检测和数据分析发现,通过本申请方案,电流有明显降低,CPU小核负载下降明显。
本申请实施例提供的用于视频通话的相机控制方法,可以应用在具备相机功能的电子设备中。参见图4,为本申请实施例提供的一种电子设备(即第一设备或设备1)的结构示意图。电子设备100可以包括处理器110,外部存储器120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理服务模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括触摸传感器和相机传感器等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110用于执行本申请实施例中的用于视频通话的相机控制方法。
其中,处理器110用于通过在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,启动计时器,当计时器达到预设阈值时判断相机资源是否被释放,当确定相机资源未被释放时,关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当显示屏从灭屏到亮屏时,基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。通过本方案,可以在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
外部存储器120一般指外存储器,在本申请实施例中,外部存储器是指除电子设备的内存及处理器的高速缓存以外的储存器,该储存器一般为非易失性存储器。
内部存储器121,也可以称为“内存”,可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用有机发光二极管(organic light-emitting diode,OLED)。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。在本申请方案中,在视频通话时,相机处于使用状态,可以通过摄像头193采集图像,采集得到的图像可以显示于视频通话界面中。
电子设备100还包括各类传感器,可以将各种不同的物理信号转换为电信号。
其中,触摸传感器180A也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
其中,相机传感器180B为图像传感器,是一种具有光电传感器特性的设备,通过将光线转换成电信号,来获取图像信息。例如,相机传感器180B可以为CCD传感器或者CMOS传感器。
CCD(charge coupled device)传感器:即电荷耦合元件传感器。CCD传感器的特点是本身集成了微米级别的光电元件,能够提供高精度的图像,色彩还原度高,适用于需要高质量图像的应用场景。
CMOS(complementarymetal-oxide-semiconductor)传感器:即互补金属氧化物半导体传感器。CMOS传感器的特点是具有成本低、功耗低、体积小等优势,以及快速连续拍摄等特殊功能。
具体到本申请实施例,相机相关硬件包括摄像头193和相机传感器180B。
以上是以电子设备100为例对本申请实施例作出的具体说明。应该理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
本申请实施例提供的电子设备可以是用户设备(user equipment,UE),例如可以为移动终端(例如用户手机)、平板电脑、桌面型、膝上型笔记本电脑、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)等设备。
本申请实施例中方法均可以在具有上述硬件结构的电子设备中实现。
另外,在上述部件之上,运行有操作系统。例如苹果公司所开发的iOS操作系统,谷歌公司所开发的Android开源操作系统,微软公司所开发的Windows操作系统等。在该操作系统上可以安装运行应用程序。
电子设备100的操作系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图5是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为层,从上至下分别为应用程序层(applications),应用程序框架层(application framework),安卓运行时(Android Runtime)模块和系统库,以及内核层(kernel)。其中,系统库中包括硬件抽象层(hardware abstraction layer,HAL)。HAL层是位于操作系统内核与硬件电路之间的接口层。
其中,应用程序层可以包括一系列应用程序包。例如,应用程序层可以包括视频通话应用(也称为第一应用)、相机应用以及省电精灵APP等应用程序,本申请实施例对此不做任何限制。
在本申请方案中,视频通话应用可以提供视频通话功能,在视频通话中,视频通话应用可以从相机应用获取视频图像,以在视频通话的界面中显示该视频图像,达到视频通话的效果。
在本申请方案中,相机应用可以触发摄像头采集视频图像,并将采集到的视频图像传输给视频通话应用。
在本申请方案中,省电精灵APP为本申请实施例提供的具有特定算法逻辑的应用程序,能够针对视频通话出现灭屏的场景,通过对相机资源进行管控以及关闭相机的处理方式,实现省电及避免设备发热的效果。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。示例性地,应用程序框架层可以包括相机服务模块、相机活动管理器以及电源管理服务(power manager service,PMS)模块等,本申请实施例对此不做任何限制。
在本申请方案中,相机服务模块可以为相机应用提供采集图像、相机状态广播、启动/关闭相机等相关服务。
在本申请方案中,相机活动管理器可以对相机启用/关闭的状态进行监听,并且可以将相机开启/关闭的消息广播给监听列表中的应用。在相机开启的情况下,监听列表中的应用可以调用相机的相关服务。
在本申请方案中,PMS是负责管理、协调设备电源管理的系统服务之一,设备常见功能如亮灭屏、亮度调节、低电量模式、保持CPU唤醒等,都会通过PMS的协调和处理。
安卓运行时模块用于负责安卓系统的调度和管理。安卓运行时模块包括虚拟机和核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。核心库包含java语言需要调用的功能函数。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:openGL ES),二维图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维图层和三维图层的融合。
在本申请方案中,在系统库中的HAL层中包括相机HAL模块。相机HAL模块可以提供实现相机各项功能的接口。
内核层是硬件和软件之间的层。内核层至少包含相机驱动和显示驱动。其中,相机驱动包括摄像头驱动和传感器驱动。
其中,摄像头驱动是摄像头的驱动层,摄像头驱动主要负责相机应用与摄像头硬件之间的交互。比如,摄像头驱动可以启动硬件层的摄像头,被启动的摄像头可以采集图像数据。
为了便于说明,在图5中还体现了与上述软件结构交互的硬件层。例如,硬件层可以包括相机和显示屏。其中,相机包括摄像头和传感器等硬件。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS或Windows等操作系统的电子设备。
本申请实施例提供的用于视频通话的相机控制方法的执行主体可以为上述的电子设备,也可以为该电子设备中能够实现该用于视频通话的相机控制方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以电子设备为例,结合附图对本申请实施例提供的用于视频通话的相机控制方法进行示例性的说明。
下面结合具体的实施例介绍本申请实施例提供的用于视频通话的相机控制方法。
实施例一
图6是本申请实施例提供的用于视频通话的相机控制方法的流程示意图。参照图2所示,该方法包括下述的步骤S201-S211。
S201、第一设备启用视频通话应用,该视频通话应用具有视频通话功能。
其中,视频通话应用还可以称为第一应用。
S202、第一设备基于视频通话应用,建立第一设备与第二设备之间的视频通话。
当第一设备检测到选中第二设备并启用视频通话功能的操作时,第一设备建立第一设备与第二设备之间的视频通话。通过上述方案,视频通话应用具有视频通话功能,在第一设备已启用视频通话应用的情况下,用户通过触发启用视频通话功能,可实现在两个设备之间建立视频通话。关于视频通话的具体建立过程可以参见上述图2和图3所示的场景示意图。
需要说明的是,在通过视频通话应用建立视频通话的情况下,会自动拉起相机应用,由此视频通话应用可以调用相机应用并从相机应用侧获取摄像头采集的图像,以显示于视频通话的界面中,从而实现两端用户以视频方式进行通话的目的。
S203、第一设备启用相机应用,并将相机应用启用的广播发送给视频通话应用。
示例性地,相机状态变化的广播包括相机启用/关闭广播。
其中,相机启用广播可以表示为:com.android.camera.action.CAMERA_STARTED。
其中,相机关闭广播可以表示为:com.android.camera.action.CAMERA_STOPPED。
相机状态变化的广播可以由相机活动管理器(CameraActivity.java)发送,并且可以通过省电精灵APP广播代理的方式来一直广播发送。
在本申请实施例中,在第一设备启用视频通话应用的情况下,第一设备将视频通话应用添加到第一监听列表中,该第一监听列表中记录了允许调用相机应用的应用程序。这样,当相机启用时,视频通话应用可以接收到相机启用的广播,进而可以调用相机应用以获取摄像头采集的视频内容。当相机关闭时,视频通话应用可以接收到相机关闭的广播。
在本申请实施例中,第一设备包括相机活动管理器,该相机活动管理器用于监听相机应用的活动。相机活动管理器可以将监听到的内容以广播的方式发送给第一监听列表中的视频通话应用。
情况一:当相机活动管理器监听到相机应用被启用时,相机活动管理器将相机应用已启用的广播发送给视频通话应用。在此情况下,视频通话应用被允许调用相机应用。
情况二:当相机活动管理器监听到相机应用被关闭时,相机活动管理器将相机应用已关闭的广播发送给视频通话应用。在此情况下,视频通话应用被禁止调用相机应用。
S204、第一设备通过显示屏显示视频通话的第一界面,该视频通话的第一界面中包括视频通话应用从相机应用获取的第一图像;该第一图像是相机应用调用第一设备的摄像头采集的图像。
S205、在视频通话过程中,当检测到对显示屏的主动灭屏操作时,第一设备控制显示屏熄灭,并启用计时器。
示例性地,主动灭屏操作包括按压第一设备的电源键。
S206、判断计时器是否达到预设阈值。
其中,预设阈值可以由系统自定,例如预设阈值可以是5秒。
S207、当计时器达到预设阈值时,第一设备确定相机资源是否被释放。
在本申请实施例中,当计时器达到预设阈值时,第一设备检测视频通话是否已挂断。然后根据视频通话是否已挂断的情况,判断相机资源是否被释放。
情况一:当视频通话未挂断(未结束)时,第一设备确定相机资源未被释放。
情况二:当视频通话已挂断(已结束)时,第一设备确定相机资源被释放。
在上述S207确定相机资源被释放的情况下,执行下述的S208。
S208、第一设备按照常规流程关闭相机应用。
在本申请的一种实施例中,在视频通话期间,当出现灭屏时第一设备开始计时,当计时到达预设阈值时,如果确定相机资源被释放,说明视频通话已结束,因此第一设备可以按照常规流程关闭相机应用。换言之,当计时器达到预设阈值时,若第一设备检测到视频通话已挂断,则第一设备关闭相机应用并释放相机资源。
在上述S207确定相机资源未被释放的情况下,执行下述的S208-S210。
S209、第一设备记录第一相机参数并抑制向视频通话应用发送广播,第一相机参数为相机应用在被关闭前所采用的配置参数。
其中,第一相机参数还可以称为相机配置参数。
示例性地,相机配置参数包括以下至少一项:图像格式、分辨率、传感器控制参数、是否启用闪光灯、自动白平衡参数、自动增益控制参数、自动曝光控制参数。
需要说明的是,上述第一相机参数为示例性地列举,可以理解,在实际实现时,相机配置参数还可以包括其他任意可能的配置参数,具体可以根据实际使用需求确定,本申请实施例不作限定。
可以理解,第一设备记录第一相机参数的目的是,当显示屏从灭屏到亮屏时,第一设备可以基于第一相机参数来重启相机应用,由此将相机快速恢复到正常使用状态,提升了用户使用体验。
在本申请实施例中,第一设备抑制向视频通话应用发送广播的方式为:在第一设备关闭相机应用的情况下,第一设备从第一监听列表中移除视频通话应用。其中,在视频通话应用从第一监听列表中被移除的情况下,相机应用被关闭的广播不发送给视频通话应用。
S210、第一设备关闭相机应用并做相机硬件下电处理;其中,视频通话应用未接收到相机应用被关闭的广播。
其中,“做相机硬件下电处理”指将摄像头和相机传感器等做下电处理。通过关闭相机应用等软件以及对相机硬件做下电处理,实现相机关闭,节省能耗,避免设备发热。
在本申请实施例中,在第一设备关闭相机应用之后,第一设备可以向第二设备发送图片格式的预设图像,以指示第二设备在视频通话的第二界面显示图片格式的预设图像。
需要说明的是,在本申请实施例中,在视频通话期间的亮屏场景,第一设备会在缓存器(buffer)中存储视频格式的图像(或者称为视频内容),以便由视频通话应用调用并将视频内容显示于视频通话的界面中。在灭屏后,在第一设备侧关闭相机之前,第一设备主动将缓存器置为空(null),保证最后一帧输出的图片为黑色,防止关闭相机后通话对方的画面停留在视频内容,可提升用户使用体验。
在本申请实施例中,相机相关模块可以提供单独的“关闭接口”,这样可以防止由于“相机锁”被上层应用持有而导致相机关闭失败。
还需要说明的是,在本申请实施例中,在视频通话场景灭屏后,因为亮屏锁被前台应用持有,系统并不会进入锁屏流程,因此当触发亮屏时第一设备直接亮屏,不走解锁流程。也就是说,灭屏后关闭相机,无需考虑对人脸解锁功能的影响。
可以理解,在第一设备关闭相机应用的情况下,第一设备停止运行相机应用的相关进程。相应地,在基于第一相机参数启用相机应用之后,第一设备恢复运行相机应用的相关进程。
基于检测数据和日志分析,本申请发现设备温度上升的原因为:在灭屏后,由于上层应用没有正常下发关闭相机的命令,灭屏后因中核负载降低,当前应用相关进程全部跑到小核,导致小核负载增加,再加上相机持续工作,造成温度升高。
也就是说,在视频通话场景下,相机处于使用状态,在设备灭屏后,相机未关闭,引起CPU负载增加,设备温度上升,功耗恶化现象。针对此场景,本申请提出的解决方案是主动关闭相机,进入相机低功耗模式,释放相机资源,改善用户的使用体验,优化功耗并减少设备发热。经过数据检测和数据分析发现,通过本申请方案,电流有明显降低,CPU小核负载下降明显。
S211、当第一设备检测到对显示屏的点亮操作时,第一设备点亮显示屏,并且基于第一相机参数启用(即重启)相机应用并做相机硬件上电处理,并在视频通话的第一界面中显示基于第一相机参数采集的图像。
示例性地,主动亮屏操作可以为用户按压第一设备的电源键。
再示例性地,主动亮屏操作可以为用户将电源线端口插入第一设备的USB接口。
再示例性地,主动亮屏操作还可以为第一设备接收到短信息或者接收到来电等。
其中,“做相机硬件上电处理”指将摄像头和相机传感器等做上电处理。通过启用相机应用等软件以及对相机硬件做上电处理,实现相机重启,将相机快速恢复到正常使用状态。
在本申请实施例中,在第一设备重启相机应用之后,相机应用调用摄像头采集视频格式的图像,第一设备将视频格式的图像发送给第二设备,以指示第二设备在视频通话的第二界面显示视频格式的图像。
在本申请实施例中,当第一设备检测到对显示屏的点亮操作时,第一设备点亮显示屏并显示视频通话的第一界面;第一设备判断相机资源是否被释放;在第一设备确定相机资源未被释放的情况下,第一设备基于第一相机参数启用相机应用。
在本申请实施例中,在第一设备从第一监听列表中移除视频通话应用之后,在第一设备基于第一相机参数启用相机应用的情况下,第一设备重新将视频通话应用添加到第一监听列表中。
在本申请的一种实施例中,在第一设备基于第一相机参数重启相机应用之后,当第一设备检测到对视频通话的挂断操作时,或者当视频通话被第二设备侧挂断时,第一设备关闭相机应用并做下电处理。在此情况下,由于广播已经恢复,因此视频通话应用会接收到相机应用被关闭的广播。相应地,第一设备会释放相机资源。
在本申请的另一种实施例中,在视频通话期间,在第一设备灭屏后关闭相机应用的情况下,当第一设备检测到显示屏处于熄灭状态,且视频通话被第二设备挂断时,第一设备自动点亮显示屏,并释放相机资源。在此情况下,由于视频通话结束,没有调用相机应用的需求,因此相机应用会保持关闭状态,而不会被触发重启。
通过本申请实施例提供的用于视频通话的相机控制方法,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当确定相机资源未被释放时,第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。通过本方案,可以在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
在本申请实施例中,第一设备包括省电精灵APP、相机服务模块和电源管理服务模块。
一方面,在视频通话中灭屏后关闭相机应用的场景中,电源管理服务模块检测到对显示屏的主动灭屏操作,然后电源管理服务模块广播灭屏消息。相应地,省电精灵APP可以接收到灭屏消息。然后,省电精灵APP可以启用计时器,当计时器达到预设阈值时,省电精灵APP确定相机资源是否被释放。在确定相机资源未被释放的情况下,省电精灵APP从相机服务模块获取第一相机参数;并且,省电精灵APP向相机活动管理器发送广播抑制消息。相机活动管理器响应于广播抑制消息,从第一监听列表中移除视频通话应用。
需要说明的是,如果在视频通话时显示屏被用户熄灭,那么电源管理服务模块会广播灭屏消息,省电精灵应用程序可以接收到灭屏消息。当省电精灵应用程序判断当前灭屏场景相机资源未被释放时,省电精灵应用程序向相机服务模块下发相机关闭命令。
在此情况下,相机服务模块关闭相机应用并做相机硬件下电处理,并对相机资源执行特定处理,例如:相机服务模块记录相机应用在被关闭前所采用的配置参数。再例如,相机服务模块存储相机应用的相关进程。再例如,相机服务模块从第一监听列表中移除视频通话应用,以抑制相机应用关闭的广播被发送给视频通话应用。在从第一监听列表中移除视频通话应用之后,视频通话应用接收不到相机应用关闭的广播。
另一方面,在视频通话中亮屏后启用相机应用的场景中,电源管理服务模块检测到对显示屏的主动亮屏操作,然后电源管理服务模块广播亮屏消息。相应地,省电精灵应用程序可以接收到亮屏消息。响应于亮屏消息,省电精灵应用程序向相机服务模块发送相机启用命令。然后,相机服务模块根据相机启用命令,基于第一相机参数启用相机应用,并激活相机应用的相关进程。并且,相机服务模块将视频通话应用添加到第一监听列表中。
需要说明的是,如果在视频通话时显示屏被用户点亮,那么电源管理服务模块会广播亮屏消息,省电精灵应用程序可以接收到亮屏消息。响应于亮屏消息,省电精灵应用程序向相机服务模块下发相机启用命令。
在此情况下,由于相机服务模块在关闭相机应用时对相机资源执行了特定处理,因此响应于相机启用命令,相机服务模块可以基于相机应用在被关闭前所采用的配置参数,快速启用相机应用;并且相机服务模块可以快速激活相机应用的相关进程。另外,相机服务模块重新将视频通话应用添加到第一监听列表中。这样,相机活动管理器可以向视频通话应用广播相机应用的活动状态,由此恢复广播发送。
需要说明的是,以上实施例是以视频通话期间灭屏后将相机软件和相机硬件均关闭来节省能耗和避免设备发热为例进行示例性说明。在另一实施例中,在实际实现时,可以在视频通话期间灭屏后通过仅关闭相机软件来节省能耗和避免设备发热。
通过本申请实施例提供的用于视频通话的相机控制方法,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当第一设备的显示屏从亮屏到灭屏时,如果确定相机资源未被释放,那么第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,停止运行相机应用的相关进程,以及从第一监听列表中移除视频通话应用,以抑制相机应用关闭的广播被发送给视频通话应用,由此达到降低功耗的目的。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,例如根据相机应用在被关闭前所采用的配置参数来配置相机,并恢复运行相机应用的相关进程,并恢复广播,由此将相机快速恢复到正常使用状态。由此在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
以上结合图6说明了本申请实施例提供的用于视频通话的相机控制方法的流程示意图,图6示出了从第一设备启动视频通话应用、建立第一设备与第二设备之间的视频通话、以及视频通话过程中灭屏后的相机控制方法以及亮屏后的相机控制方法。
下面结合图7在图6基础上重点说明本申请实施例提供的用于视频通话的相机控制方法的具体实现过程,图7所示流程包括灭屏阶段、中间处理阶段、亮屏阶段等三个阶段的相机控制方法。
第一阶段:灭屏阶段(判断相机资源是否被释放)
S301、第一设备检测到视频通话中主动灭屏的场景。
S302、第一设备启用计时器,开始5秒(s)计时。
S303、当计时器达到5s阈值时,第一设备判断相机资源是否被释放。
S304、在第一设备确定相机资源被释放的情况下,第一设备按照常规流程执行相机关闭流程。
在第一设备确定相机资源未被释放的情况下,第一设备继续执行下述的S305-S312。
举例来说,第一设备可以通过PMS模块检测到视频通话中出现主动灭屏事件。PMS模块向第一设备的省电精灵APP广播灭屏事件。省电精灵APP在接收到灭屏事件之后,可以触发启用计时器,开始计时5s。当计时器达到5s阈值时,省电精灵APP可以判断相机资源是否被释放。在省电精灵APP确定相机资源被释放的情况下,省电精灵APP按照常规流程执行相机关闭流程。在省电精灵APP确定相机资源未被释放的情况下,省电精灵APP按照本申请实施例提供的方法(下述的S305-S308)执行相机关闭流程以及按照本申请实施例提供的方法(下述的S309-S312)执行相机重启流程。
第二阶段:中间处理阶段(执行相机关闭流程)
S305、第一设备(省电精灵APP)获取相机相关参数。
S306、第一设备(省电精灵APP)生成相机关闭命令。
S307、第一设备根据相机关闭命令,管控CameraProvider等多媒体相关进程。
S308、第一设备根据相机关闭命令,抑制相机相关广播。
举例来说,省电精灵APP获取相机相关参数,然后省电精灵APP向相机服务模块和相机活动管理器下发相机关闭命令。相机服务模块响应于相机关闭命令,管控camera.provider等多媒体相关进程。相机活动管理器响应于相机关闭命令,抑制相机相关广播。
其中,通过抑制相机相关广播,第一设备前台显示的视频通话应用接收到不到相机相关广播,因此也不会因为相机被关闭而受影响。也就是说,通过抑制相机相关广播,确保第一设备的前台应用不受影响。
第三阶段:亮屏阶段(恢复相机相关参数)
S309、第一设备检测到视频通话中从灭屏到亮屏的场景。
S310、第一设备(省电精灵APP)停止管控相机相关进程,即恢复工作。
S311、第一设备(省电精灵APP)基于相机相关参数设置相机。
需要说明的是,本申请不限定上述S310和S311的先后执行顺序。
S312、相机可以正常使用。
举例来说,第一设备可以通过PMS模块检测到视频通话中出现亮屏事件。PMS模块向第一设备的省电精灵APP广播亮屏事件。在省电精灵APP接收到亮屏事件之后,省电精灵APP可以指示相机服务模块停止管控相机相关进程,并基于相机相关参数设置相机,这样是的相机快速恢复到正常使用状态。并且,省电精灵APP可以指示相机活动管理器恢复相机相关广播,这样视频通话应用能够正常接收到相机相关广播,使得视频通话不受影响。
以上结合图7说明了本申请实施例提供的用于视频通话的相机控制方法的具体实现过程,下面再结合图8说明本申请实施例提供的用于视频通话的相机控制方法的模块交互时序图。
如图8所示,该相机控制方法的模块交互时序图中包括省电精灵APP、电源管理服务模块PMS、相机服务模块(CameraServer)、相机HAL模块(包括CameraProvider进程)以及相机活动管理器。
S401、在电源管理服务模块检测到灭屏事件后,电源管理服务模块广播灭屏事件。
S402、省电精灵APP接收到灭屏事件,开始计时5s。
S403、在5s之后,省电精灵APP确定相机是否已经关闭。
在本申请实施例中,省电精灵APP可以通过判断视频通话是否结束,判断相机资源是否被释放;然后根据相机资源是否被释放,判断相机是否已经关闭。
示例性地,省电精灵APP判断视频通话未结束,由此可以确定相机资源未被释放,再由此判断相机未关闭。
S404、如果省电精灵APP确定相机未关闭,那么省电精灵APP从相机服务模块和相机HAL模块获取相机相关参数。
在本申请实施例中,相机相关参数可以包括相机配置参数和相机相关进程。
其中,省电精灵APP从相机服务模块获取相机配置参数。
其中,省电精灵APP从相机HAL模块获取相机相关进程,例如camera provider等进程。
在本申请实施例中,省电精灵APP在获取相机相关参数之后,对相机相关参数进行存储,即管控相机相关参数。
S405、省电精灵APP向相机活动管理器发送用于指示抑制相机相关广播的消息。
S406、相机活动管理器基于该消息,抑制向视频通话应用广播。
这样,通过抑制向视频通话应用广播,可以确保在关闭相机之后视频通话应用的正常运行不受影响。
S407、省电精灵APP向相机服务模块和相机活动管理器发送用于指示关闭相机的消息。
S408、相机服务模块将用于指示关闭相机的消息转发给相机HAL模块。
响应于用于指示关闭相机的消息,相机服务模块、相机活动管理器和相机HAL模块停止相机运行。由此,完成灭屏后的相机关闭流程。
下述S409-S414为亮屏后的相机启用流程。
S409、在电源管理服务模块检测到亮屏事件后,电源管理服务模块广播亮屏事件。
S410、省电精灵APP接收到亮屏事件,然后确定相机是否已经关闭。
S411、在省电精灵APP确定相机已经关闭的情况下,省电精灵APP向相机服务模块和相机活动管理器发送用于指示基于相机相关参数启用相机的消息。
S412、相机服务模块将用于指示基于相机相关参数启用相机的消息转发给相机HAL模块。
响应于用于指示启用相机的消息,相机服务模块、相机活动管理器和相机HAL模块基于相机相关参数,重新开始相机运行。
S413、省电精灵APP向相机活动管理器发送用于指示恢复相机相关广播的消息。
S414、相机活动管理器响应于该消息,恢复向视频通话应用广播。
本申请不限定步骤S411-S412和S413-S414的先后执行顺序,例如可以先执行S411-S412,再执行S413-S414;或者先执行S413-S414,再执行S411-S412;再或者可以同时执行S411-S412和S413-S414。图8中以先执行S411-S412,再执行S413-S414为例进行示例性说明。
由此,完成亮屏后的相机启用流程。
在本申请实施例中,针对在视频通话期间灭屏后相机未关闭的场景,根据实际情况关闭相机,释放相机资源,节省能耗并且避免设备发热。
以上说明了在视频通话期间灭屏后的相机控制方法以及亮屏后的相机控制方法,下面再结合图9说明从相机启用到相机出图的模块交互示意图。需要说明的是,图9适用于在视频通话初始建立后从相机启用到相机出图的过程。
如图9所示,在本申请方案涉及到的模块包括省电精灵APP、相机服务模块以及相机HAL模块。其中,省电精灵APP在应用程序层运行,相机服务模块在应用程序框架层运行,相机HAL模块在硬件抽象层运行。
相机服务模块包括相机管理单元、相机设备实现单元、相机设备客户端和相机捕获对话单元。
其中,相机管理单元(CameraManager)为摄像头管理类,专门用于检测系统摄像头、打开系统摄像头。
其中,相机设备客户端(CameraDeviceClient)代表系统摄像头。
其中,相机捕获对话单元(CameraCaptureSession):当程序需要预览或者拍照时,都需要先通过该类的实例创建会话(Session)。系统向摄像头发送捕获请求,以及摄像头返回数据,均建立在该会话中。
其中,相机设备实现单元(CameraDeviceimpl)是相机设备客户端在Jave层的实现类。
S501、省电精灵APP检测到第一设备与第二设备建立视频通话。
S502、省电精灵APP向相机管理单元发送相机初始化消息。
S503、相机管理单元基于相机标识(ID)以及图像数据(Surface)进行相机初始化。
其中,在调用启动相机方法之后,初始化相机标识(cameraId)和图像数据(Surface)。
S504、相机管理单元向相机设备实现单元发送用于指示开启相机的消息。
S505-S508、相机设备实现单元(CameraDeviceimpl)与相机设备客户端(CameraDeviceClient)进行交互,创建CameraDeviceimpl实例,并且创建图像读取类(ImageReader)对象,并且创建流,完成流的参数配置,并创建相机捕获对话(CameraCaptureSession)实例。
其中,图像读取类用于从相机打开的通道中读取所需格式的原始图像数据。
示例性地,流的参数配置可以包括图像格式、图像分辨率、传感器控制、是否启用闪光灯、自动白平衡、自动增益控制、自动曝光控制。
S509-S510、相机设备实现单元(CameraDeviceimpl)与相机捕获对话单元(CameraCaptureSession)进行交互,创建捕获对话,以及相机状态回调,由此相机捕获对话(CameraCaptureSession)实例创建成功。
S511-S512、相机设备实现单元(CameraDeviceimpl)构建预览需要的捕获请求(CaptureRequest),并向相机捕获对话单元(CameraCaptureSession)发送预览请求。
首先通过捕获请求创建器CaptureRequest.Builder()设置预览参数,如自动对焦、自动闪光灯等参数,接着通过创建捕获请求类createCaptureRequest()构建捕获请求(CaptureRequest),然后通过设置预览请求类setRepeatingRequest()发送预览请求。
S513-S515、相机设备客户端(CameraDeviceClient)通过摄像头采集图像,然后将图像发送给相机捕获对话单元(CameraCaptureSession),然后由相机捕获对话单元(CameraCaptureSession)发送给相机HAL模块,完成出图。
需要说明的是,捕获请求类参数(CaptureRequest)代表了一次捕获请求,用于描述捕获图片的各种参数设置,比如对焦模式、曝光模式等,以及相机需要对照片所做的各种控制,都通过捕获请求类参数(CaptureRequest)进行设置。
在本申请实施例中,启动一个循环线程,等待接收捕获请求(CaptureRequest),然后由相机HAL模块对捕获请求类参数进行处理,得到捕获结果(CaptureResult),将捕获结果存储到缓存器(Buffer)中,然后将缓存器(Buffer)中的捕获结果添加到图像数据(Surface)容器中,完成出图。
以上结合图9说明在视频通话初始建立后从相机启用到相机出图的模块交互示意图。下面再结合图10说明在视频通话期间从亮屏到灭屏后从相机关闭到停止相机出图的过程。
S601、省电精灵APP检测到在视频通话中从亮屏变为灭屏。
S602、省电精灵APP向相机管理单元发送相机关闭命令。
S603、相机相关模块进行交互,保存相机配置参数。
S604、相机相关模块进行交互,冻结相机相关进程。
S605、相机相关模块进行交互,抑制相机相关广播。
S606、相机相关模块进行交互,触发相机下电,即关闭相机硬件(摄像头和相机传感器)。
S607、相机停止出图。
在本申请实施例中,针对在视频通话期间灭屏后相机未关闭的场景,根据实际情况关闭相机,释放相机资源,节省能耗并且避免设备发热。
以上结合图10说明在视频通话期间从亮屏到灭屏后从相机关闭到相机停止出图的过程。下面再结合图11说明在视频通话期间从灭屏到亮屏后从相机重启到相机恢复出图的模块交互示意图。
S701、省电精灵APP检测到在视频通话中从灭屏变为亮屏。
S702、省电精灵APP下发相机启用命令及重置命令。
S703、相机相关模块进行交互,触发相机上电,即开启相机硬件(摄像头和相机传感器)。
S704、相机相关模块进行交互,重置相机配置参数。
S705、相机相关模块进行交互,解冻相机相关进程。
S706、相机相关模块进行交互,恢复相机相关广播。
S707-S711说明了相机恢复出图的过程,该过程类似于上述图9中的S511-515。这里不再赘述。
通过上述方案,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,如果确定相机资源未被释放,那么第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,并停止运行相机应用的相关进程,由此达到降低功耗的目的。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,例如根据相机应用在被关闭前所采用的配置参数来配置相机,并恢复运行相机应用的相关进程,由此将相机快速恢复到正常使用状态。由此在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。
下面以采用对应各个功能划分各个功能模块为例进行说明。
图12为本申请实施例提供的用于视频通话的相机控制装置800的示意性框图。该装置800可以用于执行上文方法实施例中第一设备所执行的动作。该装置800包括视频通话单元810、相机单元820、显示单元830和省电单元840。
视频通话单元810,用于在第一设备启用第一应用(该第一应用具有视频通话功能)的情况下,基于第一应用建立第一设备与第二设备之间的视频通话。
相机单元820,用于启用相机应用,并将相机应用启用的广播被发送给第一应用。
显示单元830,用于显示视频通话的第一界面,该视频通话的第一界面中包括第一应用从相机应用获取的第一图像;该第一图像是相机应用调用第一设备的摄像头采集的图像。
省电单元840,用于在视频通话过程中,当检测到对显示屏的主动灭屏操作时,控制第一设备的显示屏熄灭,并启用计时器。当计时器达到预设阈值时,省电精灵APP确定相机资源是否被释放。在省电精灵APP确定相机资源未被释放的情况下,省电精灵APP记录第一相机参数(第一相机参数为相机应用在被关闭前所采用的配置参数)并抑制向第一应用发送广播;第一设备关闭相机应用,第一应用未接收到相机应用被关闭的广播。
省电单元840,还用于当检测到对显示屏的点亮操作时,点亮显示屏。
相机单元820,还用于基于第一相机参数启用相机应用。
显示单元830,还用于在视频通话的第一界面中显示基于第一相机参数采集的图像。
其中,省电单元840可以为上述实施例中的省电精灵APP。
在本申请实施例中,针对在视频通话期间灭屏后相机未关闭的场景,根据实际情况关闭相机,释放相机资源,节省能耗并且避免设备发热。其中,通过抑制相机相关广播,第一设备前台显示的视频通话应用接收到不到相机相关广播,因此也不会因为相机被关闭而受影响。也就是说,通过抑制相机相关广播,确保第一设备的前台应用不受影响。
需要说明的是,在本申请实施例中,相机相关模块(如相机服务模块、相机HAL模块等)可以提供单独的“关闭接口”,这样可以防止由于“相机锁”被上层应用持有而导致相机关闭失败。
还需要说明的是,在本申请实施例中,在视频通话场景灭屏后,因为亮屏锁被前台应用持有,系统并不会进入锁屏流程,因此当触发亮屏时,第一设备直接亮屏,不走解锁流程。也就是说,灭屏后关闭相机,无需考虑对人脸解锁功能的影响。
通过本申请实施例提供的用于视频通话的相机控制装置,在第一设备与第二设备建立视频通话之后,当第一设备的显示屏从亮屏到灭屏时,第一设备启动计时器,当计时器达到预设阈值时第一设备判断相机资源是否被释放,当确定相机资源未被释放时,第一设备关闭相机应用,并对相机资源执行特定处理,例如记录相机应用在被关闭前所采用的配置参数,以及抑制广播。当显示屏从灭屏到亮屏时,第一设备基于特定处理后的相机资源来启用相机应用,由此将相机快速恢复到正常使用状态。通过本方案,可以在视频通话的灭屏场景中主动关闭相机应用,释放相机资源,进入相机低功耗模式,因此避免了由于相机应用运行导致的发热,并且降低了功耗,提升用户使用体验。
根据本申请实施例的装置800可对应于执行本申请实施例中描述的方法,并且装置800中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
本申请还提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
本申请还提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的用于视频通话的相机控制方法。
本实施例还提供了一种计算机程序产品,该计算机可读存储介质存储有程序代码,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的用于视频通话的相机控制方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的用于视频通话的相机控制方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种用于视频通话的相机控制方法,其特征在于,包括:
第一设备启用第一应用,所述第一应用具有视频通话功能;
所述第一设备基于所述第一应用,建立所述第一设备与第二设备之间的视频通话;
所述第一设备启用相机应用,并将所述相机应用启用的广播发送给所述第一应用;
所述第一设备通过显示屏显示所述视频通话的第一界面,所述视频通话的第一界面中包括所述第一应用从所述相机应用获取的第一图像;所述第一图像是所述相机应用调用所述第一设备的摄像头采集的图像;
在视频通话过程中,当所述第一设备检测到对所述显示屏的主动灭屏操作时,所述第一设备控制所述显示屏熄灭,并启用计时器;当所述计时器达到预设阈值时,所述第一设备确定相机资源是否被释放;
在确定所述相机资源未被释放的情况下,所述第一设备记录第一相机参数并抑制向所述第一应用发送广播,所述第一相机参数为所述相机应用在被关闭前所采用的配置参数;
所述第一设备关闭所述相机应用并做相机硬件下电处理;其中,所述第一应用未接收到所述相机应用被关闭的广播;
当所述第一设备检测到对所述显示屏的点亮操作时,所述第一设备点亮所述显示屏,并且基于所述第一相机参数启用所述相机应用并做相机硬件上电处理,并在所述视频通话的第一界面中显示基于所述第一相机参数采集的图像。
2.根据权利要求1所述的方法,其特征在于,
在确定所述相机资源未被释放的情况下,所述方法还包括:所述第一设备停止运行所述相机应用的相关进程;
在所述基于所述第一相机参数启用所述相机应用之后,所述方法还包括:所述第一设备恢复运行所述相机应用的相关进程。
3.根据权利要求1所述的方法,其特征在于,所述第一设备抑制向所述第一应用发送广播,使得所述第一应用未接收到所述相机应用被关闭的广播,包括:
所述第一设备从第一监听列表中移除所述第一应用,在所述第一应用从所述第一监听列表中被移除的情况下,所述相机应用被关闭的广播不发送给所述第一应用。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述第一相机参数启用所述相机应用之后,所述方法还包括:
所述第一设备重新将所述第一应用添加到所述第一监听列表中。
5.根据权利要求3或4所述的方法,其特征在于,所述第一设备包括相机活动管理器;在所述第一监听列表中包括所述第一应用的情况下,所述方法还包括:
当所述相机活动管理器监听到所述相机应用被启用时,所述相机活动管理器将所述相机应用已启用的广播发送给所述第一应用,所述第一应用被允许调用所述相机应用;
当所述相机活动管理器监听到所述相机应用被关闭时,所述相机活动管理器将所述相机应用已关闭的广播发送给所述第一应用,所述第一应用被禁止调用所述相机应用。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述当所述第一设备检测到对所述显示屏的点亮操作时,所述第一设备点亮所述显示屏,并且基于所述第一相机参数启用所述相机应用,包括:
当所述第一设备检测到对所述显示屏的点亮操作时,所述第一设备点亮所述显示屏并显示所述视频通话的第一界面;
所述第一设备判断所述相机资源是否被释放;
在所述第一设备确定所述相机资源未被释放的情况下,所述第一设备基于所述第一相机参数启用所述相机应用。
7.根据权利要求1至4中任一项所述的方法,其特征在于,在所述第一设备基于所述第一相机参数启用所述相机应用之后,所述方法还包括:
当所述第一设备检测到对所述视频通话的挂断操作时,或者当所述视频通话被所述第二设备侧挂断时,所述第一设备关闭所述相机应用;其中,所述第一应用接收到所述相机应用被关闭的广播;
所述第一设备释放所述相机资源。
8.根据权利要求1至4中任一项所述的方法,其特征在于,所述当所述计时器达到预设阈值时,所述第一设备确定相机资源是否被释放,包括:
当所述计时器达到所述预设阈值时,所述第一设备检测所述视频通话是否已挂断;
当所述视频通话未挂断时,所述第一设备确定所述相机资源未被释放;
当所述视频通话已挂断时,所述第一设备确定所述相机资源被释放。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当所述计时器达到所述预设阈值时,若所述第一设备检测到所述视频通话已挂断,则所述第一设备关闭所述相机应用并释放所述相机资源。
10.根据权利要求5所述的方法,其特征在于,所述第一设备还包括省电精灵应用程序和相机服务模块;
所述第一设备记录第一相机参数并抑制向所述第一应用发送广播,包括:
所述省电精灵应用程序从所述相机服务模块获取所述第一相机参数;
所述省电精灵应用程序向所述相机活动管理器发送广播抑制消息;
所述相机活动管理器响应于所述广播抑制消息,从所述第一监听列表中移除所述第一应用。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第一相机参数启用所述相机应用,包括:
所述省电精灵应用程序向所述相机服务模块发送相机启用命令;
所述相机服务模块根据所述相机启用命令,基于所述第一相机参数启用所述相机应用,并激活所述相机应用的相关进程;
所述相机服务模块将所述第一应用添加到所述第一监听列表中。
12.根据权利要求10所述的方法,其特征在于,所述第一设备还包括电源管理服务模块;
所述第一设备检测到对所述显示屏的主动灭屏操作,包括:所述电源管理服务模块检测到对所述显示屏的主动灭屏操作;所述电源管理服务模块广播灭屏消息;所述省电精灵应用程序接收到所述灭屏消息;
所述第一设备启用计时器;当所述计时器达到预设阈值时,所述第一设备确定相机资源是否被释放,包括:所述省电精灵应用程序启用计时器;当所述计时器达到预设阈值时,所述省电精灵应用程序确定相机资源是否被释放。
13.根据权利要求12所述的方法,其特征在于,所述第一设备检测到对所述显示屏的点亮操作,包括:
所述电源管理服务模块检测到对所述显示屏的主动亮屏操作;
所述电源管理服务模块广播亮屏消息;
所述省电精灵应用程序接收到所述亮屏消息。
14.根据权利要求1至4、11、12、13中任一项所述的方法,其特征在于,所述方法还包括:
在所述相机应用调用所述摄像头采集所述第一图像的情况下,所述第一设备将所述第一图像发送给所述第二设备,以指示所述第二设备在所述视频通话的第二界面显示所述第一图像;其中,所述第一图像为视频格式的图像;
在所述第一设备关闭所述相机应用之后,所述第一设备向所述第二设备发送第二图像,以指示所述第二设备在所述视频通话的第二界面显示所述第二图像;其中,所述第二图像为图片格式的预设图像。
15.根据权利要求1至4、11、12、13中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一设备关闭所述相机应用的情况下,当所述第一设备检测到所述显示屏处于熄灭状态,且所述视频通话被所述第二设备挂断时,所述第一设备自动点亮所述显示屏;
所述第一设备释放所述相机资源,所述相机资源包括所述第一相机参数;
其中,所述相机应用保持关闭状态。
16.根据权利要求1至4、11、12、13中任一项所述的方法,其特征在于,
所述第一相机参数包括以下至少一项:图像格式、分辨率、传感器控制参数、是否启用闪光灯、自动白平衡参数、自动增益控制参数、自动曝光控制参数。
17.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器上的计算机程序,所述处理器用于执行所述计算机程序,以使得所述电子设备实现如权利要求1至16中任一项所述的方法。
18.一种芯片,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器用于执行所述计算机程序,以实现如权利要求1至16中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311403692.XA CN117177059B (zh) | 2023-10-27 | 2023-10-27 | 用于视频通话的相机控制方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311403692.XA CN117177059B (zh) | 2023-10-27 | 2023-10-27 | 用于视频通话的相机控制方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117177059A true CN117177059A (zh) | 2023-12-05 |
CN117177059B CN117177059B (zh) | 2024-04-12 |
Family
ID=88937741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311403692.XA Active CN117177059B (zh) | 2023-10-27 | 2023-10-27 | 用于视频通话的相机控制方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117177059B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976918A (zh) * | 2019-04-09 | 2019-07-05 | 努比亚技术有限公司 | 摄像头资源的调配方法、移动终端及计算机可读存储介质 |
CN112261339A (zh) * | 2020-10-15 | 2021-01-22 | Oppo广东移动通信有限公司 | 视频通信方法、装置、电子设备和计算机可读存储介质 |
CN114286039A (zh) * | 2021-12-29 | 2022-04-05 | 富盛科技股份有限公司 | 一种音视频通话方法及系统 |
CN114467297A (zh) * | 2019-07-30 | 2022-05-10 | 华为技术有限公司 | 一种应用于电子设备的视频通话的显示方法及相关装置 |
WO2022170854A1 (zh) * | 2021-02-09 | 2022-08-18 | 华为技术有限公司 | 视频通话的方法与相关设备 |
CN115904297A (zh) * | 2021-08-19 | 2023-04-04 | 荣耀终端有限公司 | 屏幕显示检测方法、电子设备及存储介质 |
CN116709477A (zh) * | 2022-11-22 | 2023-09-05 | 荣耀终端有限公司 | 休眠唤醒方法、电子设备、蓝牙外设及存储介质 |
-
2023
- 2023-10-27 CN CN202311403692.XA patent/CN117177059B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976918A (zh) * | 2019-04-09 | 2019-07-05 | 努比亚技术有限公司 | 摄像头资源的调配方法、移动终端及计算机可读存储介质 |
CN114467297A (zh) * | 2019-07-30 | 2022-05-10 | 华为技术有限公司 | 一种应用于电子设备的视频通话的显示方法及相关装置 |
CN112261339A (zh) * | 2020-10-15 | 2021-01-22 | Oppo广东移动通信有限公司 | 视频通信方法、装置、电子设备和计算机可读存储介质 |
WO2022170854A1 (zh) * | 2021-02-09 | 2022-08-18 | 华为技术有限公司 | 视频通话的方法与相关设备 |
CN115904297A (zh) * | 2021-08-19 | 2023-04-04 | 荣耀终端有限公司 | 屏幕显示检测方法、电子设备及存储介质 |
CN114286039A (zh) * | 2021-12-29 | 2022-04-05 | 富盛科技股份有限公司 | 一种音视频通话方法及系统 |
CN116709477A (zh) * | 2022-11-22 | 2023-09-05 | 荣耀终端有限公司 | 休眠唤醒方法、电子设备、蓝牙外设及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117177059B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11430358B2 (en) | Frequency adjustment method and apparatus applied to terminal, and electronic device | |
EP3917210A1 (en) | Network card switching method and electronic device | |
KR102392465B1 (ko) | 단말기 제어 방법 및 단말기 | |
US11921977B2 (en) | Processing method for waiting scenario in application and apparatus | |
WO2021115007A1 (zh) | 一种网络切换方法及电子设备 | |
EP4199500A1 (en) | Method for multiple applications to share camera, and electronic device | |
CN107015629B (zh) | 处理方法和电子设备 | |
WO2022002205A1 (zh) | 一种显示方法及电子设备 | |
CN112492193B (zh) | 一种回调流的处理方法及设备 | |
CN110687998A (zh) | 一种应用管理方法及装置 | |
WO2022089122A1 (zh) | 一种应用窗口的投屏方法与电子设备 | |
US11304143B2 (en) | Terminal device, network device, frame format configuration method, and system | |
JP2020516094A (ja) | カメラ制御方法及び端末 | |
CN113014804A (zh) | 图像处理方法、装置、电子设备和可读存储介质 | |
CN113746718A (zh) | 一种内容分享的方法、装置及系统 | |
CN117177059B (zh) | 用于视频通话的相机控制方法、电子设备及存储介质 | |
CN116708958A (zh) | 马达控制方法及电子设备 | |
CN114500732B (zh) | 一种界面显示的方法和电子设备、存储介质 | |
CN106791359B (zh) | 移动终端待机拍照方法及装置 | |
CN116528038B (zh) | 一种处理图像的方法、电子设备及存储介质 | |
CN110662280B (zh) | 运行模式的切换方法及装置、可读存储介质、电子设备 | |
WO2023160205A1 (zh) | 进程的控制方法、电子设备及可读存储介质 | |
CN117119295B (zh) | 相机控制方法和电子设备 | |
CN111385416B (zh) | 电子设备和闹钟处理方法 | |
WO2023284652A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |