CN117156091A - 视频通话方法及电子设备 - Google Patents
视频通话方法及电子设备 Download PDFInfo
- Publication number
- CN117156091A CN117156091A CN202310312025.4A CN202310312025A CN117156091A CN 117156091 A CN117156091 A CN 117156091A CN 202310312025 A CN202310312025 A CN 202310312025A CN 117156091 A CN117156091 A CN 117156091A
- Authority
- CN
- China
- Prior art keywords
- video
- interface
- video call
- layer
- call
- 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 72
- 230000006870 function Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims 4
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 206010051015 Radiation hepatitis Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
Abstract
本申请提供了一种视频通话方法及电子设备,有利于在两路视频通话切换的场景下恢复视频画面。该方法包括:显示第一界面,第一界面包括第一路视频通话的界面,第一界面还包括第一控件;响应于对第一控件的触发操作,显示一个或多个联系人信息,以及暂停第一路视频通话的视频流的绘制;响应于在所述一个或多个联系人信息中选择目标联系人的操作,显示第二控件;响应于对第二控件的触发操作,显示第二界面,第二界面包括第二路视频通话的界面,第二界面还包括第三控件;响应于对第三控件的触发操作,第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制,以及显示第三界面,第三界面包括第一路视频通话的界面。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种视频通话方法及电子设备。
背景技术
当前,部分电子设备支持视频增强功能,即支持视频通话被保持,并且支持在建立第一路视频通话之后,可以建立第二路语音通话或视频通话。
在一种可能的场景中,第一路视频通话已建立,在用户添加建立第二路视频通话之后,电子设备会退出第一路视频通话的通话界面,显示第二路视频通话的通话界面。当用户切换至第一路视频通话时,电子设备上的本端画面静止,并且无法显示对端画面。
发明内容
本申请提供一种视频通话方法及电子设备,有利于在两路视频通话切换的场景下恢复第一路视频通话的视频画面。
第一方面,本申请实施例提供一种视频通话方法,应用于第一电子设备,该方法包括:显示第一界面,第一界面包括第一路视频通话的界面,第一界面还包括第一控件;响应于对第一控件的触发操作,显示一个或多个联系人信息,以及暂停第一路视频通话的视频流的绘制;响应于在所述一个或多个联系人信息中选择目标联系人的操作,显示第二控件;响应于对第二控件的触发操作,显示第二界面,第二界面包括第二路视频通话的界面,第二界面还包括第三控件;响应于对第三控件的触发操作,第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制,以及显示第三界面,第三界面包括第一路视频通话的界面。
在本申请中,第一电子设备可以与第二电子设备建立第一路视频通话,显示第一界面。其中,第一控件用于第一电子设备在已有第一路视频通话的基础上添加建立一路通话,该一路通话可以包括语音通话和视频通话,本申请以添加建立一路视频通话为例。
第一电子设备在接收到用户对第一控件的触发操作之后,退出第一视频通话的界面,暂停第一路视频通话的视频流的绘制。第一电子设备在接收到对第二控件触发操作之后,可以与第三电子设备建立第二路视频通话,并显示第二界面,其中,第二控件用于向目标联系人发起视频通话。在此之后,第一电子设备在接收到对第三控件的触发操作之后,可以由第二路视频通话切换至第一路视频通话。因为之前暂停了第一路视频通话的视频流的绘制,因此,第一电子设备通过应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制,这样驱动层可以向上层传输来自第二电子设备采集的图像数据,生成第二电子设备的视频流,并且恢复来自第一电子设备采集的图像数据的绘制,生成第一电子设备的视频流,这样第一电子设备的应用程序层可以显示包括第一路视频通话的界面的在第三界面,第一路视频通话的界面包括第一电子设备的视频流和第二电子设备的视频流。
基于本申请的技术方案,第一电子设备可以在两路视频切换的场景下恢复第一路视频通话的视频画面,提升用户的视频通话体验。
结合第一方面,在第一方面的某些实现方式中,第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制,包括:在满足预设条件的情况下,应用程序层向驱动层指示恢复第一路视频通话的视频流。预设条件包括下述的一种或多种:第一电子设备的系统版本支持视频增强功能、第一电子设备搭载预设类型的芯片平台第一电子设备处于两路视频通话切换的场景。
其中,视频增强功能包括视频通话被保持以及建立多路视频通话。预设类型的芯片平台包括在第一路视频通话的视频流的绘制暂停之后,需要从上层指示下层进行绘制视频流的绘制的芯片平台。
结合第一方面,在第一方面的某些实现方式中,在第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制之前,该方法还包括:应用程序层向应用程序框架层查询第一标志位,第一标志位用于指示第一电子设备的系统版本是否支持视频增强功能;应用程序层向驱动层查询第二标志位,第二标志位用于指示第一电子设备是否搭载预设类型的芯片平台;应用程序层查询第三标志位,第三标志位用于指示第一电子设备是否处于两路视频通话切换的场景。
结合第一方面,在第一方面的某些实现方式中,在应用程序层查询第三标志位之前,该方法还包括:记录第一路视频通话的通话类型为视频通话类型;记录第二路视频通话的通话类型为视频通话类型。在接收到在对第三控件的触发操作之后,该方法还包括:在第一路视频通话类型和第二路视频通话的通话类型为视频通话类型时,将第三标志位的值置为目标值。应用程序层查询第三标志位,包括:应用程序层查询第三标志位的值是否为目标值;当第三标志位的值为目标值时,指示第一电子设备处于两路视频通话切换的场景;当第三标志位的值不是目标值时,指示第一电子设备未处于两路视频通话切换的场景。
结合第一方面,在第一方面的某些实现方式中,在显示第一界面之前,该方法包括:响应于对第四控件的触发操作,打开第一电子设备的摄像头以采集图像数据;创建第一绘图表面和第二绘图表面,第一绘图表面用于绘制第一电子设备采集的图像数据,第二绘图表面用于绘制第二电子设备采集的图像数据,第二电子设备是与第一电子设备建立第一路视频通话的电子设备;在第一绘图表面对第一电子设备的摄像头采集的图像数据进行绘制,得到第一视频流;在第二绘图表面对来自第二电子设备采集的图像数据进行绘制,得到第二视频流。显示第一界面,包括:显示包括第一视频流以及第二视频流的第一界面。
结合第一方面,在第一方面的某些实现方式中,暂停第一路视频通话的视频流的绘制,包括:应用程序层向硬件抽象层指示暂停第一路视频通话的视频流的绘制;硬件抽象层向驱动层指示关闭第一电子设备的摄像头,以及暂停向硬件抽象层传输第二电子设备采集的图像数据。
在本申请中,第一电子设备的硬件抽象层在接收到暂停第一路视频通话的指令之后,向驱动层的相机驱动指示关系第一电子设备的摄像头,向驱动层的调制解调器(modem)模块指示暂停向硬件抽象层传输第二电子设备采集的图像数据。这样第一电子设备可以暂时停止第一路视频通话的视频流的绘制,节省第一电子设备的功耗。
结合第一方面,在第一方面的某些实现方式中,响应于对第二控件的触发操作,显示第二界面,包括:响应于对第二控件的触发操作,打开第一电子设备的摄像头以采集图像数据;创建第三绘图表面和第四绘图表面,第三绘图表面用于绘制第一电子设备采集的图像数据,第四绘图表面用于绘制第三电子设备采集的图像数据,第三电子设备是与第一电子设备建立第二路视频通话的电子设备;在第三绘图表面对摄像头采集的图像数据进行绘制,得到第三视频流;在第四绘图表面对第三电子设备采集的图像数据进行绘制,得到第四视频流;显示包括第三视频流以及第四视频流的第二界面。
结合第一方面,在第一方面的某些实现方式中,第一电子设备的应用程序层向驱动层指示恢复第一路视频流的绘制,包括:应用程序层向硬件抽象层指示恢复第一路视频流的绘制;硬件抽象层向驱动层指示打开第一电子设备的摄像头,以及恢复向硬件抽象层传输第二电子设备采集的图像数据。
第二方面,本申请实施例提供一种电子设备,该电子设备也可以称为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
该电子设备包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得电子设备执行如第一方面的方法。
第三方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现如第一方面的方法。
第四方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面的方法。
第五方面,本申请提供了一种芯片,芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行如第一方面所述的方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是本申请实施例提供的一种视频通话界面的示意图;
图2是本申请实施例提供的一种电子设备的硬件结构示意图;
图3是本申请实施例适用的一种通话模块的分层架构图;
图4和图5是本申请实施例的视频通话方法适用的场景示意图;
图6是本申请实施例提供的一种视频通话方法的示意性流程图;
图7是本申请实施例提供的另一种视频通话方法的示意性流程图;
图8是本申请实施例提供的另一种电子设备的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,下面首先对本申请涉及的相关术语进行详细介绍。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。此外,本申请实施例提供的显示界面仅作为示例,显示界面还可以包括更多或更少的内容。
随着终端技术的快速发展,当前部分电子设备支持视频增强功能,即支持视频通话被保持,并且支持在建立第一路视频通话之后,可以建立第二路语音通话或视频通话。
在第一路视频通话已建立,用户添加建立第二路视频通话之后,电子设备会退出第一路视频通话的通话界面,显示第二路视频通话的通话界面。当用户再切换至第一路视频通话时,如图1所示,电子设备上的本端画面静止,并且无法显示对端画面。
出现该问题的原因在于,在添加第二路视频通话时,电子设备会退出第一路视频通话的通话界面,此时电子设备的应用程序层会下发暂停视频(pause video)的指令,指示暂停第一路视频通话的视频流的绘制,并且将本端的绘图表面(preview surface)置空,导致本端画面无法绘制。在从第二路视频通话切换至第一路视频通话时,由于没有恢复第一路视频通话的视频流,也即,第一路视频通话的视频流的绘制仍然处于暂停状态,因此导致本端和对端均没有绘制的视频流,从而出现本端画面静止,无法显示对端画面的问题。
有鉴于此,本申请实施例提供一种视频通话方法,在该方法中,电子设备在从第二路视频通话切换至第一路视频通话时,电子设备的应用程序层可以指示驱动层恢复第一路视频通话的视频流的绘制,从而在电子设备的界面上恢复显示本端画面和对端画面,提高用户的视频通话体验。
示例性地,图2是本申请实施例提供的一种电子设备的硬件结构示意图。如图2所示,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及客户识别模块(subscriberidentity module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器(base processer,BP),显示处理单元(display process unit,DPU),和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
在一些实施例中,电子设备100也可以包括一个或多个处理器110。其中,处理器可以是电子设备100的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备100的效率。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN),蓝牙(Bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),调频(frequency modulation,FM),近场通信(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emittingdiode,OLED)、有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED)、柔性发光二极管(flex light-emittingdiode,FLED)、Miniled、MicroLed、Micro-oLed或量子点发光二极管(quantum dot lightemitting diodes,QLED)。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备100执行各种功能应用以及数据处理等。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用程序(比如图库、联系人等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备100执行各种功能应用及数据处理。
电子设备在人们的生活中的最不可忽略的功能就是通话,安卓系统中的通话模块(Telephony)为通话功能的核心模块,通话模块主要提供了语音、短信、数据链接、SIM卡管理、电话簿等功能。
通话模块采用了分层的架构设计,其业务应用跨越了AP和BP,AP和BP相互通信。图3是本申请实施例适用的一种通话模块的分层架构图。在该分层架构中,通话模块跨越了安卓系统的应用程序层、应用程序框架层、硬件抽象层,并涉及BP端的驱动层,包括调制解调器(modem)模块。
应用程序层面向用户,依赖于应用程序框架层,通过访问应用程序框架层的业务模块来呈现给用户具体的功能。应用程序层包括通话界面模块(IncallUI),用于通话界面的显示和更新、通话信息的查询以及简单的逻辑,例如,接听/挂断等。
应用程序框架层包括第一通话框架(telephony framework)、第二通话框架(telecom framework)、RIL.Jave(RILJ)以及IMS网络模块(net/ims)。其中,第一通话框架主要包括对外接口ImsPhone、通话管理中心ImsPhoneCallTracker、某一路通话ImsPhoneCall、某一路通话连接ImsPhoneConnection等。第二通话框架用于管理安卓系统当前的通话,如来电显示、接听电话、挂断电话等功能,在第一通话框架和应用程序层之间起到桥梁作用。例如,第一通话框架在接收到新的来电时,首先会通知第二通话框架,之后第二通话框架通知应用程序层来电信息,并显示来自界面。
无线接口层(radio interface layer,RIL)的实现包括RILJ和RIL.C/C++(RILC)。其中,RILJ属于应用程序框架层中的Jave部分,RILC属于硬件抽象层中的C/C++部分,也就是RIL.demon(RILD)。RIL负责将AP端用户的通话控制信息传递给BP端的modem模块,同时modem模块也会讲相关处理结果返回给AP端。当modem模块状态有变化时也会主动上报给RIL,再逐步向上传递最终通过界面显示出来。
IMS网络模块主要包括提供了IMS服务接口(IMS service API)的IMS管理器(IMSManager),以及IMS管理器创建的负责处理IMS语音通话和视频通话连接的IMS呼叫(IMSCall)。
硬件抽象层包括IMS芯片平台模块(vendor/ims)和RILD,IMS芯片平台模块是不同的芯片平台实现的模块,即不同的芯片平台有不同的IMS芯片平台模块。IMS芯片平台模块是芯片平台对IMS的公共接口的具体实现,直接对接RIL,主要负责IMS通话等功能。其中,IMS通话包括支持长期演进语音承载(voice over long-term evolution,VoLTE)的语音通话或视频通话。RILD的功能主要包括将RILJ发送的消息传递给BP端,同时将BP端的状态变化发送给RILJ,之后RILJ再将状态变化发送给上层。
驱动层包括媒体(media)和modem模块,其中媒体包括相机驱动。modem模块通过与通信网络进行沟通,传输语音及数据,完成呼叫、短信等相关电话功能。
本申请实施例涉及第一电子设备与第二电子设备之间的视频通话,以及,第一电子设备与第三电子设备之间的视频通话。其中,第一用户的电子设备为第一电子设备,第二用户的电子设备为第二电子设备,第三用户的电子设备为第三电子设备。各电子设备可以具有如图2和/或图3所示的架构,但本申请实施例对此不作限定。
下面的实施例中以第一电子设备为手机A、第二电子设备为手机B、第三电子设备为手机C为例进行示例说明,该示例并不构成对本申请实施例的限定。
下面的实施例可以相互结合或独立实施,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图4和图5示出了本申请实施例的视频通话方法适用的场景示意图。
参见图4中的a,当第一用户点击通话应用的图标之后,手机A显示如图4中的b所示的界面,即手机A的拨号界面。
参见图4中的b,拨号界面中包括一个或多个联系人信息,第一用户可以在所述一个或多个联系人中选择第一目标联系人,例如选择图4中的b界面中的联系人1。响应于第一用户选择第一目标联系人的操作,手机A显示如图4中的c所示的界面。此处的第一目标联系人为第二用户。
参见图4中的c界面,该界面为第一目标联系人的详情界面,包括第一用户与第一目标联系人的通话记录,例如,第一目标联系人的电话号码、过往的通话次数、通话时间、通话时长等。在该界面中还包括“语音”控件01、“视频”控件02以及“短消息”控件03。本申请实施例对“语音”控件01、“视频”控件02以及“短消息”控件03的显示图标不作具体限定。
第一用户可以通过点击“语音”控件01使得手机A与第一目标联系人的手机B建立一路语音通话;第一用户还可以通过点击“视频”控件02使得手机A与第一目标联系人的手机B之间建立一路视频通话。
手机A响应于第一用户点击“视频”控件02的操作,向手机B发送视频通话请求,邀请第二用户进行视频通话。在第二用户接受该视频通话的邀请之后,手机A显示如图4中的d所示的视频通话界面。本申请实施例将手机A和手机B建立的视频通话称为第一路视频通话。
参见图4中的d界面,该界面为第一路视频通话的界面,包括第一显示区域和第二显示区域。其中,第一显示区域用于显示本端画面,此处的本端为手机A,本端画面即为手机A的摄像头拍摄的视频画面。第二显示区域用于显示对端画面,此处的对端即为手机B,对端画面即为手机B的摄像头拍摄的视频画面。手机B将拍摄到的画面发送给手机A以在手机A上显示,相应地,手机A将拍摄的视频画面也发送给手机B以在手机B上显示。本申请实施例对本端画面和对端画面的显示区域不作具体限定。
可选地,在手机A的视频通话界面中,第一显示区域可以作为全屏显示的区域,第二显示区域可以作为小窗口显示的区域;或者,第一显示区域可以作为小窗口显示的区域,第二显示区域可以作为全屏显示的区域,本申请实施例对此不作限定。此外,本申请实施例对第一显示区域和第二显示区域的位置和大小也不作限定。
第一用户可以根据需要切换手机A和手机B拍摄的视频画面的显示区域,例如,通过点击第一显示区域的小窗口,将第一显示区域的小窗口的视频画面切换到第二显示区域全屏显示,将第二显示区域的全屏显示的视频画面切换到第一显示区域的小窗口,具体的切换触发方式不作具体的限定。
参见图4中的d界面,该界面还包括“前置/后置”控件04,该控件用于切换前置/后置摄像头。示例性地,当手机A处于如图4中的d界面所示的视频通话界面时,手机A的摄像头可以预先设置为前置摄像头,第一用户可以通过手机A的前置摄像头与第二用户进行视频通话。第一用户可以通过点击“前置/后置”控件04触发切换摄像头,例如将前置摄像头切换为后置摄像头。
参见图4中的d界面,该界面还包括“添加通话”控件05,该控件用于添加一路通话。在第一用户和第二用户视频通话的过程中,若第一用户期望与其他用户进行通话,第一用户可以通过选择“添加通话”控件05以添加创建一路通话。添加创建的一路通话可以为语音通话或视频通话。
结合图4中的a界面至d界面,手机A响应于第一用户的触发操作与第二用户的手机B建立第一路视频通话。下面结合图5,介绍手机A在已创建第一路视频通话的基础上再添加创建一路视频通话的过程。
如图4中的d界面所示,第一用户点击“添加通话”控件05。响应于第一用户点击“添加通话”控件05的操作,手机A显示如图5中的a界面。
参见图5中的a界面,手机A退出第一路视频通话的通话界面,显示拨号界面。与第一用户向第二用户发送视频通话请求的过程类似,第一用户可以在拨号界面选择第二目标联系人,例如选择图5中的a界面中的联系人2,手机A显示如图5中的b所示的界面。此处的第二目标联系人为第三用户。
参见图5中的b界面,与图4中的c界面类似,图5中的b界面未第二目标联系人的详情界面,包括第一用户与第二目标联系人的通话记录。在该界面中还包括“语音”控件01、“视频”控件02以及“短消息”控件03。第一用户同样可以点击“视频”控件02以使手机A与手机C建立一路视频通话。
手机A响应于第一用户点击“视频”控件02的操作,向手机C发送视频通话请求,邀请第三用户进行视频通话。在第三用户接受该视频邀请之后,手机A显示如图5中的c所示的视频通话界面。本申请实施例将手机A与手机C之间建立的视频通话称为第二路视频通话。
参见图5中的c界面,该界面包括第三显示区域和第四显示区域,其中,第三显示区域用于显示本端画面,此处的本端为手机A,本端画面即为手机A的摄像头拍摄的视频画面。第四显示区域用于显示对端画面,此处的对端即为手机C,对端画面即为手机C的摄像头拍摄的视频画面。手机C将拍摄到的画面发送给手机A以在手机A上显示,相应地,手机A将拍摄的视频画面也发送给手机C以在手机C上显示。
参见图5中的c界面,该界面还包括“切换”控件06,该控件用于切换两路通话。响应于第一用户点击“切换”控件06的操作,手机A显示如图5中的d界面。
参见图5中的d界面,该界面为第一路视频通话的界面,在该界面的第一显示区域可以显示本端画面,此处的本端为手机A,本端画面即为手机A的摄像头拍摄的视频画面。在该界面的第二显示区域可以显示对端画面,此处的对端未手机B,对端画面即为手机B的摄像头拍摄的视频画面。
图5中的a界面至d界面介绍了手机A在已建立第一路视频通话的基础上再建立第二路视频通话,并且手机A可以基于第一用户的操作切换至第一路视频通话的过程。需要说明的是,在手机A向手机C发送视频通话请求之后,第一路视频通话被保持。类似地,在切换至第一路视频通话之后,第二路视频通话被保持。
本申请实施例以用户通过点击操作触发各控件实现相应功能为例,此外,还可以通过其他用户操作触发各控件实现相应功能。例如,第一用户通过在图4中的d界面中长按“添加通话”控件05触发手机A显示图5中的a界面,或者第一用户通过在图4中的d界面中滑动“添加通话”控件05的操作触发手机A显示图5中的a界面,本申请实施例对触发各控件实现相应功能的用户操作不作限定。
对比图1,图5中的d界面在切换两路视频通话的场景下可以恢复本端画面和对端画面的显示,有利于提高用户的视频通话体验。具体手机A是如何恢复本端画面和对端画面的实现将在下面的实施例中进行介绍。
基于图4和图5所描述的两路视频通话的场景,图6介绍两路视频通话切换的过程中手机A中的各模块之间的交互过程。其中,手机A包括如图3所示的各层及各层中的模块。
应理解的是,本申请实施例中各层或各模块之间的发送,可以通过函数调用的方式实现的。
图6是本申请实施例提供的一种视频通话方法600的示意性流程图。本申请实施例适用的场景如图4和图5所示,手机A向手机B发起第一路视频通话,在第一路视频通话建立之后,手机A添加建立一路视频通话,与手机C建立第二路视频通话,此时第一路视频通话退出界面,第一路视频通话被保持,手机A显示第二路视频通话的界面。在第一用户选择从第二路视频通话切换至第一路视频通话后,手机A显示第一路视频通话的界面。
方法600描述手机A在上述场景下的内部实现过程,涉及手机A的应用程序层、应用程序框架层、硬件抽象层、驱动层之间的交互。在方法600中,应用程序层通过通话界面模块执行相关步骤,硬件抽象层通过IMS模块执行相关步骤。驱动层包括相机驱动和modem模块。方法600包括S601至S632,具体步骤如下:
S601,响应于用户发起第一路视频通话的操作,应用程序层向应用程序框架层发送打开相机的指令。
示例性地,用户发起视频通话的操作可以参照图4中的c界面所示,手机A响应于第一用户点击“视频”控件02的操作,向手机B发起一通视频通话请求。
可选地,如图4中的a界面和b界面所示,在第一用户发起第一路视频通话的操作之前,还可以包括手机A响应于第一用户在的桌面打开电话应用的操作,显示如图4中的b界面所示的拨号界面,以及,手机A响应于第一用户在拨号界面选择联系人1的操作,显示如图4中的c界面。
S602,应用程序框架层向硬件抽象层发送打开相机的指令。
应理解的是,应用程序层和硬件抽象层需要经过应用程序框架层的jave本地接口(jave native interface,JNI)进行指令转换,将应用程序层的jave指令转换为硬件抽象层可识别的C++指令。本步骤中应用程序框架层将打开相机的指令转换为硬件抽象层可识别的C++指令之后发送给硬件抽象层。
S603,硬件抽象层向相机驱动发送打开相机的指令。
S604,相机驱动向硬件抽象层反馈相机已打开。
相机驱动在接收到打开相机的指令之后,启动摄像头。
示例性地,相机驱动启动的摄像头为前置摄像头,并且相机驱动可以记录第一路视频通话的摄像头的状态为“前置”状态。
S605,硬件抽象层向应用程序框架层反馈相机已打开。
S606,应用程序框架层向应用程序层反馈相机已打开。
具体地,应用程序框架层向应用程序层的通话界面模块反馈相机已打开。
S607,应用程序层创建本端的绘图表面(preview surface)以及对端的绘图表面(display surface)。
应用程序层可以请求SurfaceFlinger服务创建绘图表面(surface),在创建绘图表面的过程中,SurfaceFlinger服务根据显示屏(display)参数确定在某个显示屏上创建一个绘图表面。例如,显示屏参数的值为“0”,表示在第一个显示屏上创建一个绘图表面,应用程序层根据第一个显示屏的高度和宽度设置绘图表面的宽度和高度。SurfaceFlinger服务根据格式(format)参数确定要创建的绘图表面的像素格式。例如,格式参数为“PIXEL_FORMAT_RGB_565”,表示要创建的绘图表面的像素格式为“PIXEL_FORMAT_RGB_565”,即每一个像素点使用2个字节来描述,其中,红(red,R)、绿(green,G)、蓝(blue,B)分量分别占5位、6位和5位。
S608,应用程序层向应用程序框架层发送本端的绘图表面以及对端的绘图表面。
S609,应用程序框架层向硬件抽象层发送本端的绘图表面以及对端的绘图表面。
S610,硬件抽象层在本端的绘图表面绘制本端的图像数据,得到本端的视频流,以及在对端的绘图表面绘制对端的图像数据,得到对端的视频流。
在本步骤中,本端的图像数据是由本端的摄像头采集到的,对端的图像数据是由对端的摄像头采集到的。硬件抽象层的IMS模块在本端的绘图表面绘制本端的图像数据,在对端的绘图表面绘制对端的图像数据。
S611,硬件抽象层向应用程序框架层发送本端的视频流和对端的视频流。
S612,应用程序框架层向应用程序层发送本端的视频流和对端的视频流。
S613,应用程序层显示包括本端的视频流和对端的视频流的界面。
应理解的是,S607至S613中的本端可以对应针对图4所描述的场景中的手机A,对端可以对应针对图4所描述的场景中手机B。S607至S613中的本端的绘图表面也可以称为第一绘图表面,对端的绘图表面也可以称为第二绘图表面。S607至S613中的本端的视频流也可以称为第一视频流,对端的视频流也可以称为第二视频流。
可选地,在第一路视频通话建立之后,应用程序层可以记录第一路视频通话的通话类型为视频通话类型。
在图4的场景下,通过上述S601至S613,手机A成功与手机B建立第一路视频通话。之后,手机A可以和手机C再建立第二路视频通话。下面介绍建立第二路视频通话的内部实现。
S614,响应于用户添加一路通话的操作,应用程序层向应用程序框架层发送暂停视频的指令。
其中,暂停视频的指令用于指示暂停第一路视频通话的视频流的绘制。
参照针对图4中的d界面的示例性描述,用户添加一路通话的操作可以包括第一用户点击“添加通话”控件05的操作。手机A响应于第一用户点击“添加通话”控件05的操作,退出第一路视频通话的通话界面,显示拨号界面。应理解的是,在手机A显示拨号界面之后,第一路视频通话被保持,之后手机A还可以基于用户操作恢复第一路视频通话。
此处用户添加的一路通话可以为一路语音通话或一路视频通话,本申请实施例以用户添加的一路通话为视频通话为例进行说明。
S615,应用程序框架层向硬件抽象层发送暂停视频的指令。
由S610可知,在第一路视频通话正常进行的过程中,硬件抽象层会在本端的绘图表面绘制本端的摄像头采集的图像数据,在对端的绘图表面绘制对端的摄像头采集的图像数据。在接收到暂停视频的指令之后,硬件抽象层可以将本端的绘图表面置空,这样便无法在本端的绘图表面绘制本端的摄像头采集的图像数据。
S616,硬件抽象层向相机驱动发送关闭摄像头的指令。
硬件抽象层在接收到暂停视频的指令之后,由于此时第一用户还未向其他用户发起视频通话请求,因此硬件抽象层可以暂时指示相机驱动关闭摄像头,这样可以节省手机A的功耗。
S617,相机驱动关闭摄像头。
S618,硬件抽象层向modem模块发送暂停视频的指令。
S619,modem模块暂停向硬件抽象层发送对端的图像数据。
可选地,modem模块仍然可以继续接收对端发送的图像数据,但是modem模块不向硬件抽象层发送对端的图像数据,这样硬件抽象层在对端的绘图表面便没有可绘制的图像数据。
S620,响应于用户发起第二路视频通话的操作,应用程序层通过应用程序框架层、硬件抽象层与相机驱动交互打开相机。
参照针对图4中的b界面的示例性描述,用户发起第二路视频通话的操作可以包括第一用户点击“视频”控件02的操作。在图4所描述的场景下,手机A响应于第一用户点击“视频”控件02的操作,向手机C发起一通视频通话。
相机驱动在接收到打开相机的指令之后,重新启动摄像头。示例性地,相机驱动启动的摄像头为前置摄像头,并且相机驱动可以记录第二路视频通话的摄像头的状态为“前置”状态。
本步骤的具体实现与S601至S606类似,此处不再赘述。
S621,应用程序层通过应用程序框架层与硬件抽象层交互绘制本端的视频流和对端的视频流。
本步骤的具体实现与S607至S612类似,此处不再赘述。
S622,应用程序层显示包括本端的视频流和对端的视频流的界面。
S621和S622中的本端可以对应针对图5所描述的场景中的手机A,对端可以对应针对图5所描述的场景中的手机C。本端的视频流是由本端的摄像头采集到的图像数据绘制得到的,对端的视频流是由对端的摄像头采集到的图像数据绘制得到的。硬件抽象层在本端的绘图表面绘制本端的图像数据,在对端的绘图表面绘制对端的图像数据。S621和S622中的本端的绘图表面也可以称为第三绘图表面,对端的绘图表面也可以称为第四绘图表面。S621和S622中的本端的视频流也可以称为第三视频流,对端的视频流也可以称为第四视频流。
可选地,在第二路视频通话建立之后,应用程序层可以记录第二路视频通话的通话类型为视频通话类型。
在针对图5所描述的场景下,通过上述S614至S622,手机A成功与手机C建立第二路视频通话。之后,手机A可以基于用户操作重新切换至第一路视频通话,显示第一路视频通话的界面。下面将介绍在从第二路视频通话切换至第一路视频通话的场景下,手机A恢复第一路视频通话的视频流的绘制的内部实现。
S623,响应于用户切换视频通话的操作,应用程序层向应用程序框架层发送恢复视频的指令。该恢复视频的指令用于指示恢复第一路视频通话的视频流的绘制。
参照针对图5中的c界面的示例性描述,用户切换视频通话的操作可以包括第一用户点击“切换”控件06的操作。
可选地,应用程序层向应用程序框架层发送恢复视频的指令,包括:在满足预设条件的情况下,应用程序层向应用程序框架层发送该恢复视频的指令。
其中,预设条件包括下述的一种或多种:手机A的系统版本支持视频增强功能、手机A搭载预设类型的芯片平台、手机A处于两路视频通话切换的场景,其中,视频增强功能包括视频通话被保持以及建立多路视频通话。预设类型的芯片平台包括在暂停第一路视频通话的视频流的绘制之后,需要从应用程序层指示驱动层恢复第一路视频流的绘制的芯片平台。
可选地,应用程序框架层中设置有第一标志位,第一标志位用于指示手机A的系统版本是否支持视频增强功能。应用程序层中的通话界面模块可以向应用程序框架层查询第一标志位,以此来判断手机A的系统版本是否支持视频增强功能。
可选地,驱动层的modem模块设置有第二标志位,第二标志位用于指示手机A是否搭载预设类型的芯片平台。应用程序层中的通话界面模块可以向modem模块查询第二标志位,以此来判断手机A是否搭载预设类型的芯片平台。
可选地,应用程序层设置有第三标志位,第三标志位用于指示手机A是否处于两路视频通话切换的场景。应用程序层中的通话界面模块可以通过查询第三标志位判断手机A是否处于两路视频通话切换的场景。
可选地,第三标志位的默认值为“false”,指示手机A未处于两路视频通话的场景。在应用程序层的通话界面模块接收到用户可以切换视频通话的操作之后,应用程序层的通话界面模块查询第一路视频通话的通话类型以及第二路视频通话的通话类型。当第一路视频通话的通话类型以及第二路视频通话的通话类型均为视频通话类型时,应用程序层将第三标志位的值置为“true”,指示手机A处于两路视频通话切换的场景。应用程序层在查询到第三标志位的值为目标值,即为“true”时,确定手机A处于两路视频通话切换的场景。
S624,应用程序框架层向硬件抽象层发送恢复视频的指令。
S625,硬件抽象层向相机驱动发送打开摄像头的指令。
S626,相机驱动恢复摄像头的状态为第一路视频通话的摄像头的状态。
可选地,第一路视频通话和第二路视频通话使用的是同一个摄像头。参见前文的描述,在建立第二路视频通话的过程中该摄像头已经被重新打开,因此,相机驱动在接收到打开摄像头的指令之后,实际执行的动作包括恢复摄像头的状态为第一路视频通话的摄像头的状态。
参见S604中的示例性描述,相机驱动记录的第一路视频通话的摄像头的状态为“前置”状态,若在第二路视频通话的过程中用户将摄像头调整为“后置”状态,则在切换至第一路视频通话时,相机驱动将摄像头的状态恢复为第一路视频通话的摄像头的状态,即“前置”状态。
S627,硬件抽象层向modem模块发送恢复视频的指令。
S628,modem模块向硬件抽象层发送对端的图像数据。
modem模块在接收到恢复视频的指令之后,恢复向硬件抽象层的IMS模块发送对端的摄像头采集的图像数据,这样硬件抽象层的IMS模块可以在对端的绘图表面对对端的图像数据进行绘制,得到对端的视频流。
S629,硬件抽象层在本端的绘图表面绘制本端的图像数据,得到本端的视频流,以及在对端的绘图表面绘制对端的图像数据,得到对端的视频流。
S630,硬件抽象层向应用程序框架层发送本端的视频流和对端的视频流。
S631,应用程序框架层向应用程序层发送本端的视频流和对端的视频流。
S632,应用程序层显示包括本端的视频流和对端的视频流的界面。
S628至S632中的本端对应针对图5所描述的场景中的手机A,对端对应针对图5所描述的场景中的手机B。
在针对图5所描述的场景下,通过S623至S632,手机A在两路视频通话切换时,可以由应用程序层的通话界面模块指示驱动层的modem模块恢复第一楼视频通话的视频流的绘制,这样手机A就可以正常显示包括本端的视频流和对端的视频流的界面,提高用户的视频通话体验。
在上述实施例的基础上,图7是本申请实施例提供一种视频通话方法700的示意性流程图。方法700的步骤可以由第一电子设备执行,第一电子设备可以例如上述实施例中的手机A,具有如图2和/或图3所示的架构。
方法700包括S701至S705,具体步骤如下:
S701,显示第一界面,第一界面包括第一路视频通话的界面,第一界面还包括第一控件。
第一电子设备可以基于第一应用与第二电子设备建立视频通话,并显示包括第一路视频通话的界面的第一界面。第一界面上显示有第一电子设备的摄像头拍摄的视频流,以及第二电子设备的摄像头采集的视频流。
示例性地,第一电子设备可以包括针对图4和图5所描述的手机A,第二电子设备可以包括针对图4和图5所描述的手机B。第一应用可以包括电话应用。
其中,第一界面可以例如图4中的d界面,第一控件可以例如图4中的d界面中的“添加通话”控件05。
参照图4中的a界面至d界面的描述,第一电子设备在显示第一界面之前,可以如图4中的a界面所示,响应于对电话应用的触发操作,显示如图4中的b所示的拨号界面;响应于对拨号界面中的第一目标联系人的触发操作,显示如图4中的c界面。第一电子设备在显示第一界面,可以包括:响应于对“视频”控件02的触发操作,显示如图4中的d界面。
参照针对图6的描述,在第一电子设备显示第一界面之前,以及第一电子设备显示第一界面的内部处理流程可以包括方法600中的S601至S613,此处不再赘述。
S702,响应于对第一控件的触发操作,显示一个或多个联系人信息,以及暂停第一路视频通话的视频流的绘制。
参照针对图4中的d界面的示例性描述,对第一控件的触发操作可以包括第一用户对“添加通话”控件05的触发操作。
参照图5中的a所示的拨号界面,显示一个或多个联系人信息可以包括在拨号界面显示一个或多个联系人信息。
第一电子设备暂停第一路视频通话的视频流的绘制的内部处理流程可以包括方法600中的S614至S619,此处不再赘述。
S703,响应于在所述一个或多个联系人信息中选择目标联系人的操作,显示第二控件。
在图5中的a界面的示例中,显示的一个或多个联系人可以包括联系人1、联系人2、联系人3,此外还可以有和更多的联系人信息此处未予以展示,用户可以滑动屏幕以显示更多的联系人信息。
参照针对图5中的a界面的示例性描述,在所述第一个或多个联系人信息中选择目标联系人的操作可以包括在拨号界面选择第二目标联系人(即图5中的a界面中的联系人2)的操作,即此处的目标联系人为第二目标联系人。第二控件可以例如图5中的b界面中的“视频”控件02。
参照图5中的b界面,显示第二控件包括在第二目标联系人的详情界面显示“视频”控件02。
S704,响应于对第二控件的触发操作,显示第二界面,第二界面包括第二路视频通话的界面,第二界面还包括第三控件。
第一电子设备可以基于对第二控件的触发操作与第三电子设备建立第二路视频通话,并显示包括第二路视频通话的界面的第二界面。第二界面上显示有第一电子设备的摄像头拍摄的视频流,以及第三电子设备的摄像头拍摄的视频流。
示例性地,第一电子设备可以包括针对图5所描述的手机A,第三电子设备可以包括针对图5所描述的手机C。
其中,第二界面可以例如图5中的c界面。第三控件可以例如图5中的c界面中的“切换”控件06。
参照针对图6的描述,在第一电子设备显示第二界面之前,以及第一电子设备显示第二界面的内部处理流程可以包括方法600中的S620至S622,此处不再赘述。
S705,响应于对第三控件的触发操作,第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制,以及显示第三界面,第三界面包括第一路视频通话的界面。
参照针对图5中的c界面的示例性描述,对第三控件的触发操作可以包括第一用户对“切换”控件06的触发操作。第三界面可以例如图5中的d界面,包括第一路视频通话的界面。
第一电子设备的应用程序层向驱动层指示恢复第一路视频通话的视频流的绘制的内部处理流程可以包括方法600中的S623至S632,此处不再赘述。
在本申请实施例中,第一电子设备在接收到对第一控件的触发操作之后会暂停第一路视频通话的视频流的绘制,保留与第二电子设备的视频通话。第一电子设备在接收到对第二控件的触发操作之后,与第三电子设备建立第二路视频通话,绘制第二路视频通话的视频流,显示包括第二路视频通话的视频流的界面。第一电子设备在接收到对第三控件的触发操作之后,可以通过应用程序层指示驱动层恢复第一路视频通话的视频流的绘制,这样在第一电子设备切换显示第一路视频通话的界面时,可以正常显示包括来自第一电子设备的视频画面以及来自第二电子设备的视频画面,相较于暂停第一路视频通话的视频流的绘制之后不做任何处理的方式而言,本申请实施例的视频通话方法有利于提升用户的视频通话体验。
可选地,在S701之前,方法700还包括:响应于对第四控件的触发操作,打开第一电子设备的摄像头以采集图像数据;创建第一绘图表面和第二绘图表面,第一绘图表面用于绘制第一电子设备采集的图像数据,第二绘图表面用于绘制第二电子设备采集的图像数据,第二电子设备时与第一电子设备建立第一路视频通话的电子设备;在第一绘图表面对第一电子设备的摄像头采集的图像数据进行绘制,得到第一视频流;在第二绘图表面对来自第二电子设备采集的图像数据进行绘制,得到第二视频流。第一电子设备显示第一界面,包括:第一电子设备显示包括第一视频流和第二视频流的第一界面。
其中,第四控件可以为图4中的c界面所示的“视频”控件02。本申请实施例中第一电子设备的具体实现过程可以参照方法600中的S601至S613,此处不再赘述。
可选地,S704包括:响应于对第二控件的触发操作,打开第一电子设备的摄像头以采集图像数据;创建第三绘图表面和第四绘图表面,第三绘图表面用于绘制第一电子设备采集的图像数据,第四绘图表面用于绘制第三电子设备采集的图像数据,第三电子设备是与第一电子设备建立第二路视频通话的电子设备;在第三绘图表面对摄像头采集的图像数据进行绘制,得到第三视频流;在第四绘图表面对第三电子设备采集的图像数据进行绘制,得到第四视频流;显示包括第三视频流以及第四视频流的第二界面。
本申请实施例介绍第一电子设备发起第二路视频通话之后,通过在绘图表面上绘制图像数据得到第三视频流和第四视频流,最终在第二界面上显示第三视频流和第四视频流的过程,其具体内部实现可以参见S620至S622的描述,此处不再赘述。
图8为本申请实施例提供的另一种电子设备的硬件结构示意图,如图8所示,该电子设备包括处理器801,通信线路804以及至少一个通信接口(图8中示例性的以通信接口803为例进行说明)。
处理器801可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路804可包括在上述组件之间传送信息的电路。
通信接口803,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该电子设备还可以包括存储器802。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路804与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器802用于存储执行本申请方案的计算机执行指令,并由处理器801来控制执行。处理器801用于执行存储器802中存储的计算机执行指令,从而实现本申请实施例所提供的方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图8中的处理器801和处理器805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例提供的视频通话方法,可以应用在具备通信功能的电子设备中。电子设备包括终端设备,终端设备的具体设备形态等可以参照上述相关说明,此处不再赘述。
本申请实施例提供一种电子设备,该电子设备包括:处理器和存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,使得电子设备执行上述方法。
本申请实施例提供一种芯片。芯片包括处理器,处理器用于调用存储器中的计算机程序,以执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质存储有计算机程序。计算机程序被处理器执行时实现上述方法。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(randomaccess memory,RAM),只读存储器(read-only memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(digital subscriber line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例提供一种计算机程序产品,计算机程序产品包括计算机程序,当计算机程序被运行时,使得计算机执行上述方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (11)
1.一种视频通话方法,其特征在于,应用于第一电子设备,所述方法包括:
显示第一界面,所述第一界面包括第一路视频通话的界面,所述第一界面还包括第一控件;
响应于对所述第一控件的触发操作,显示一个或多个联系人信息,以及暂停所述第一路视频通话的视频流的绘制;
响应于在所述一个或多个联系人信息中选择目标联系人的操作,显示第二控件;
响应于对所述第二控件的触发操作,显示第二界面,所述第二界面包括第二路视频通话的界面,所述第二界面还包括第三控件;
响应于对所述第三控件的触发操作,所述第一电子设备的应用程序层向驱动层指示恢复所述第一路视频通话的视频流的绘制,以及显示第三界面,所述第三界面包括所述第一路视频通话的界面。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备的应用程序层向驱动层指示恢复所述第一路视频通话的视频流的绘制,包括:
在满足预设条件的情况下,所述应用程序层向所述驱动层指示恢复所述第一路视频通话的视频流的绘制;
所述预设条件包括下述的一种或多种:所述第一电子设备的系统版本支持视频增强功能、所述第一电子设备搭载预设类型的芯片平台、所述第一电子设备处于两路视频通话切换的场景;其中,所述视频增强功能包括视频通话被保持以及建立多路视频通话。
3.根据权利要求2所述的方法,其特征在于,在所述第一电子设备的应用程序层向驱动层指示恢复所述第一路视频通话的视频流的绘制之前,所述方法还包括:
所述应用程序层向应用程序框架层查询第一标志位,所述第一标志位用于指示所述第一电子设备的系统版本是否支持视频增强功能;
所述应用程序层向所述驱动层查询第二标志位,所述第二标志位用于指示所述第一电子设备是否搭载所述预设类型的芯片平台;
所述应用程序层查询第三标志位,所述第三标志位用于指示所述第一电子设备是否处于两路视频通话切换的场景。
4.根据权利要求3所述的方法,其特征在于,在所述应用程序层查询第三标志位之前,所述方法还包括:
记录所述第一路视频通话的通话类型为视频通话类型;
记录所述第二路视频通话的通话类型为视频通话类型;
在接收到在对所述第三控件的触发操作之后,所述方法还包括:
在所述第一路视频通话类型和所述第二路视频通话的通话类型为视频通话类型时,将所述第三标志位的值置为目标值;
所述应用程序层查询第三标志位,包括:
所述应用程序层查询所述第三标志位的值是否为所述目标值;
当所述第三标志位的值为所述目标值时,指示所述第一电子设备处于两路视频通话切换的场景;
当所述第三标志位的值不是所述目标值时,指示所述第一电子设备未处于两路视频通话切换的场景。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述显示第一界面之前,所述方法包括:
响应于对第四控件的触发操作,打开所述第一电子设备的摄像头以采集图像数据;
创建第一绘图表面和第二绘图表面,所述第一绘图表面用于绘制所述第一电子设备采集的图像数据,所述第二绘图表面用于绘制第二电子设备采集的图像数据,所述第二电子设备是与所述第一电子设备建立所述第一路视频通话的电子设备;
在所述第一绘图表面对所述摄像头采集的图像数据进行绘制,得到第一视频流;
在所述第二绘图表面对来自所述第二电子设备采集的图像数据进行绘制,得到第二视频流;
所述显示第一界面,包括:
显示包括所述第一视频流以及所述第二视频流的第一界面。
6.根据权利要求5所述的方法,其特征在于,所述暂停所述第一路视频通话的视频流的绘制,包括:
所述应用程序层向硬件抽象层指示暂停所述第一路视频通话的视频流的绘制;
所述硬件抽象层向驱动层指示关闭所述第一电子设备的摄像头,以及暂停向所述硬件抽象层传输所述第二电子设备采集的图像数据。
7.根据权利要求6所述的方法,其特征在于,所述响应于对所述第二控件的触发操作,显示第二界面,包括:
响应于对所述第二控件的触发操作,打开所述第一电子设备的摄像头以采集图像数据;
创建第三绘图表面和第四绘图表面,所述第三绘图表面用于绘制所述第一电子设备采集的图像数据,所述第四绘图表面用于绘制第三电子设备采集的图像数据,所述第三电子设备是与所述第一电子设备建立所述第二路视频通话的电子设备;
在所述第三绘图表面对所述摄像头采集的图像数据进行绘制,得到第三视频流;
在所述第四绘图表面对所述第三电子设备采集的图像数据进行绘制,得到第四视频流;
显示包括所述第三视频流以及所述第四视频流的第二界面。
8.根据权利要求7所述的方法,其特征在于,所述第一电子设备的应用程序层向驱动层指示恢复所述第一路视频流的绘制,包括:
所述应用程序层向所述硬件抽象层指示恢复所述第一路视频流的绘制;
所述硬件抽象层向所述驱动层指示打开所述第一电子设备的摄像头,以及恢复向所述硬件抽象层传输所述第二电子设备采集的图像数据。
9.一种电子设备,其特征在于,包括:处理器和存储器,其中,
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述计算机程序,以使所述电子设备执行如权利要求1至8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310312025.4A CN117156091A (zh) | 2023-03-27 | 2023-03-27 | 视频通话方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310312025.4A CN117156091A (zh) | 2023-03-27 | 2023-03-27 | 视频通话方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117156091A true CN117156091A (zh) | 2023-12-01 |
Family
ID=88904882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310312025.4A Pending CN117156091A (zh) | 2023-03-27 | 2023-03-27 | 视频通话方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117156091A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480033A (zh) * | 2006-06-30 | 2009-07-08 | 索尼爱立信移动通讯股份有限公司 | 移动通信设备中视频呼叫的呼叫保持 |
CN108063908A (zh) * | 2017-12-20 | 2018-05-22 | 维沃移动通信有限公司 | 一种视频通话方法、装置及移动终端 |
CN108462945A (zh) * | 2017-02-17 | 2018-08-28 | 北京三星通信技术研究有限公司 | 通话方法及终端设备 |
CN108632772A (zh) * | 2017-03-20 | 2018-10-09 | 展讯通信(上海)有限公司 | 多路通话的实现方法、装置及通信终端 |
WO2019174477A1 (zh) * | 2018-03-12 | 2019-09-19 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置及终端 |
CN113938634A (zh) * | 2020-07-14 | 2022-01-14 | 聚好看科技股份有限公司 | 一种多路视频通话处理方法及显示设备 |
CN114640747A (zh) * | 2020-12-16 | 2022-06-17 | 华为技术有限公司 | 一种通话方法、相关设备和系统 |
CN115242994A (zh) * | 2022-06-10 | 2022-10-25 | 荣耀终端有限公司 | 视频通话系统、方法和装置 |
CN115460180A (zh) * | 2021-06-08 | 2022-12-09 | Oppo广东移动通信有限公司 | 视频通话的处理方法和装置、电子设备 |
-
2023
- 2023-03-27 CN CN202310312025.4A patent/CN117156091A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480033A (zh) * | 2006-06-30 | 2009-07-08 | 索尼爱立信移动通讯股份有限公司 | 移动通信设备中视频呼叫的呼叫保持 |
CN108462945A (zh) * | 2017-02-17 | 2018-08-28 | 北京三星通信技术研究有限公司 | 通话方法及终端设备 |
CN108632772A (zh) * | 2017-03-20 | 2018-10-09 | 展讯通信(上海)有限公司 | 多路通话的实现方法、装置及通信终端 |
CN108063908A (zh) * | 2017-12-20 | 2018-05-22 | 维沃移动通信有限公司 | 一种视频通话方法、装置及移动终端 |
WO2019174477A1 (zh) * | 2018-03-12 | 2019-09-19 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置及终端 |
CN113938634A (zh) * | 2020-07-14 | 2022-01-14 | 聚好看科技股份有限公司 | 一种多路视频通话处理方法及显示设备 |
CN114640747A (zh) * | 2020-12-16 | 2022-06-17 | 华为技术有限公司 | 一种通话方法、相关设备和系统 |
CN115460180A (zh) * | 2021-06-08 | 2022-12-09 | Oppo广东移动通信有限公司 | 视频通话的处理方法和装置、电子设备 |
CN115242994A (zh) * | 2022-06-10 | 2022-10-25 | 荣耀终端有限公司 | 视频通话系统、方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3872609A1 (en) | Application display method and electronic device | |
EP4110004A1 (en) | Wi-fi aware link establishment method and system, electronic device, and storage medium | |
EP3846402A1 (en) | Voice communication method, electronic device, and system | |
US20230299806A1 (en) | Bluetooth Communication Method, Wearable Device, and System | |
CN110602686B (zh) | 一种使用远程sim模块的方法及电子设备 | |
WO2020078330A1 (zh) | 一种基于语音通话的翻译方法及电子设备 | |
CN116055773A (zh) | 一种多屏协同方法、系统及电子设备 | |
US20230209438A1 (en) | Data Transmission Method and Electronic Device | |
CN113472477B (zh) | 无线通信系统及方法 | |
CN116886810A (zh) | 摄像头调用方法、系统及电子设备 | |
CN114063951B (zh) | 投屏异常处理方法及电子设备 | |
CN115242994B (zh) | 视频通话系统、方法和装置 | |
EP4293497A1 (en) | Screen projection display method and electronic device | |
CN117156091A (zh) | 视频通话方法及电子设备 | |
CN113676902B (zh) | 一种提供无线上网的系统、方法及电子设备 | |
CN114697438B (zh) | 一种利用智能设备进行通话的方法、装置、设备及存储介质 | |
CN116709295B (zh) | 数据获取方法及终端设备 | |
CN114125805B (zh) | 蓝牙回连方法及终端设备 | |
WO2024022117A1 (zh) | 一种通信共享方法、系统及相关装置 | |
WO2022268009A1 (zh) | 一种屏幕共享的方法及相关设备 | |
WO2023280160A1 (zh) | 一种通道切换方法及装置 | |
CN117062252B (zh) | 一种数据传输方法及电子设备 | |
CN116055635B (zh) | 一种通话状态的显示方法、装置、电子设备及存储介质 | |
US20240134591A1 (en) | Projection display method and electronic device | |
EP4174634A1 (en) | Screen display method and apparatus, electronic device, and computer storage medium |
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 |