CN113938635A - 一种多路视频通话处理方法及显示设备 - Google Patents
一种多路视频通话处理方法及显示设备 Download PDFInfo
- Publication number
- CN113938635A CN113938635A CN202010677179.XA CN202010677179A CN113938635A CN 113938635 A CN113938635 A CN 113938635A CN 202010677179 A CN202010677179 A CN 202010677179A CN 113938635 A CN113938635 A CN 113938635A
- Authority
- CN
- China
- Prior art keywords
- video
- window
- call
- user
- voice
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 20
- 238000000034 method Methods 0.000 abstract description 33
- 238000004891 communication Methods 0.000 description 52
- 239000010410 layer Substances 0.000 description 51
- 238000012545 processing Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 239000003999 initiator Substances 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开一种多路视频通话处理方法及显示设备,所述方法包括:根据接收到的操作,在视频通话界面显示第一区域和第二区域;接收输入的切换操作;接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择;更新所述第一视频窗口和所述第一语音窗口。本申请使得多路视频通话不再受限于显示设备的配置和机型,提升了用户视频通话的应用体验。
Description
技术领域
本发明涉及显示设备技术领域,尤其涉及一种多路视频通话处理方法及显示设备。
背景技术
显示设备中可安装有视频通话应用,当一个视频通话被建立后,对应的虚拟房间中可以有多个成员加入会话,这就需要在通话界面上显示多个视频窗口,从而形成多路视频通话。但是受限于显示设备的配置,尤其对于一些老旧机型,一般能支持视频通话的路数较低,当加入虚拟房间中的成员数量较多时,就无法满足多路视频通话的需求。
发明内容
为解决上述技术问题,本发明提供一种多路视频通话处理方法及显示设备。
第一方面,本发明提供的显示设备,包括:
显示器;
声音播放器,用于输出视频通话中的对端发送的音频数据;
通信器,用于使显示设备与服务器通信连接;
用户接口,用于接收输入的操作;
分别与显示器、声音播放器、通信器和用户接口连接的控制器,用于执行:
根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
接收输入的切换操作;
接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
第二方面,本发明提供的多路视频通话处理方法,包括:
根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
接收输入的切换操作;
接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
本申请提供的技术方案中,在视频通话过程中可以对处于视频状态的用户和处于语音状态的用户进行切换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了显示设备200与控制装置100之间操作场景的示意图;
图2中示例性示出了图1中显示设备200的硬件配置框图;
图3中示例性示出了图1中控制装置100的硬件配置框图;
图4中示例性示出了图1中显示设备200中软件配置示意图;
图5中示例性示出了显示设备200中应用程序的图标控件界面显示示意图;
图6a中示例性示出了界面布局模板的示意图;
图6b中示例性示出了当前通话路数与预设路数为3时的视频通话界面示意图;
图6c中示例性示出了当前通话路数为4,预设路数为3时的视频通话界面示意图;
图7中示例性示出了实际路数为6,预设路数为3时的视频通话界面示意图;
图8中示例性示出了视频通话启动时显示提示弹窗的示意图;
图9中示例性示出了打开控件列表时的视频通话界面示意图;
图10中示例性示出了选择第一对象时的视频通话界面示意图;
图11中示例性示出了显示第二对象选择弹窗时的视频通话界面示意图;
图12中示例性示出了音视频窗口切换完成时的界面示意图;
图13中示例性示出了多路视频通话中切换音视频窗口的处理方法流程图;
图14中示例性示出了邀请第三对象加入视频通话时的处理逻辑图;
图15中示例性示出了通话对象挂断视频通话时的处理逻辑图;
图16中示例性示出了多路视频通话方法的逻辑图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示器组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片,蓝牙通信协议芯片,有线以太网通信协议芯片等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制装置100或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括图像采集器,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可声音采集器等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:可以高清多媒体接口HDMI接口、模拟或数据高清分量输入接口、复合视频输入接口、USB输入接口、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作系统或其他正在运行中的程序的临时数据
在一些实施例中,ROM 252用于存储各种系统启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出系统,称为基本输入输出系统(Basic Input Output System,BIOS)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至RAM 251中,以便于启动或运行操作系统。当操作系统启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,CPU处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU +FRC(Frame Rate Conversion,帧率转换))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示器中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制装置100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。
控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制装置100包括通信接口130和输入输出接口140中至少一者。控制装置100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。
在一些实施例中,系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口(Aplication PogrammingIterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers)、内容提供者(Content Provider)和视图系统(View System)等,其中管理器包括以下模块中的至少一个:活动管理器(Activity Manager)用与和系统中正在运行的所有活动进行交互;位置管理器( Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(Notification Manager)用于控制通知消息的显示和清除;窗口管理器(WindowManager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示器大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,以魔镜应用(拍照应用)为例,当遥控接收装置接收到遥控器输入操作,相应的硬件中断被发给内核层。内核层将输入操作加工成原始输入事件(包括输入操作的值,输入操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,根据焦点当前的位置识别该输入事件所对应的控件以及以该输入操作是确认操作,该确认操作所对应的控件为魔镜应用图标的控件,魔镜应用调用应用框架层的接口,启动魔镜应用,进而通过调用内核层启动摄像头驱动,实现通过摄像头捕获静态图像或视频。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示器上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示器的不同显示区域显示与之对应的应用界面。
在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播(Video On Demand,VOD)应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
前面介绍了显示设备的硬件配置、软件配置和功能实现等内容,在发起方发起视频通话时,服务器会建立对应的虚拟房间,显示设备上设置声音采集器和图像采集器,图像采集器用于在视频通话过程中实时采集本端用户的视频,声音采集器用于在视频通话过程中实时采集本端用户的音频,之后将本端用户的音视频数据发送至服务器,虚拟房间中每个成员的音视频数据都可以通过这种形式上传到服务器,以便在视频通话过程中,显示设备从服务器获取其他成员的音/视频数据在本端进行显示播放。
在视频通话启动后,虚拟房间会记录当前通话路数,即当前接入虚拟房间的通话人数,随着通话成员的增加(比如新接听、邀请新成员加入视频通话等)或者减少(比如有成员挂断视频通话),虚拟房间记录的当前通话路数也需要随之更新。
在一些实施例中,显示设备需要从服务器获取当前通话路数,以比较当前通话路数与预设路数的关系,从而执行相应的多路视频通话逻辑。显示设备可以向服务器发送查询请求,服务器响应于查询请求,会查询虚拟房间内记录的当前通话路数,并将当前通话路数发送给显示设备,或者,服务器检测到虚拟房间内记录的当前通话路数发生变更,就需要向显示设备发送最新的当前通话路数,从而将虚拟房间记录的当前通话路数同步到各通话成员的显示设备。
基于显示设备自身的配置和机型,不同的显示设备具有不同的预设路数,预设路数为显示设备能够支持的视频通话路数,也即是视频通话界面能够显示的视频窗口的上限数量,预设路数是根据显示设备的处理能力和经验值确定的,每一台显示设备所支持的路数是随硬件型号固定设置的。在一些实施例中,配置较高的显示设备最高可支持9路视频通话。当显示设备支持2路视频通话时,即仅支持一对一视频通话,当显示设备支持2-9路视频通话时,可以实现多对多视频通话。
显示设备一般具有界面布局模板,既在进行通话时各视频通话窗口的大小和位置设置。当前通话路数小于或等于预设路数时,即可调用界面布局模板来显示当前通话路数个视频窗口,界面布局模板与视频通话的路数具有对应关系,在一些实施例中,图6a所示,示出了路数为2-9时分别对应的不同的界面布局模板。其中路数为2时,可以全屏窗口显示好友的视频画面并小窗显示本端用户的视频画面,也可以两个视频通话窗口的大小相同;路数为3-9时可以阵列的形式排序视频窗口。举例来说,某显示设备的预设路数为6,则可以支持2-6路视频通话,比如当前通话路数为4,则可以按照路数为4的界面布局模板显示4个通话成员的视频窗口,即图6a中2*2的窗口布局。上述各通话路数对应的界面布局模板仅为实施通话方法的一种显示布局设置,本领域技术人员还可以通过调整视频窗口的大小和位置给出其他的设计,显示窗口的大小和位置设置不影响本方案的实施。
然而在一些实施例中,不同的显示设备可能支持不同的通话路数,当两个支持不同路数的显示设备开启通话,或邀请的通话人数加入视频通话的时候,仍需要将支持低路数通话的显示设备保留在通话进程中,而不能强制该用户退出,本申请的方案可以在超出预设路数通话时,使得支持低路数通话的显示设备保留在通话进程中,提升了用户的体验。
本申请中,多路视频通话的基础处理逻辑是:从服务器获取视频通话的当前通话路数;响应于确定所述当前通话路数大于预设路数,调用所述预设路数对应的界面布局模板,来控制显示器在视频通话界面上的第一区域显示预设路数个视频窗口;以及,在第二区域显示数量为所述当前通话路数与所述预设路数之差的语音窗口;响应于确定所述当前通话路数小于或等于预设路数,调用所述当前通话路数对应的界面布局模板,来控制显示器在视频通话界面上显示当前通话路数个视频窗口,不显示语音窗口。下面首先对多路视频通话的基础处理逻辑进行详细说明。
在一些实施例中,当加入视频通话的虚拟房间的成员较多时,就可能出现当前通话路数大于预设路数的情况,比如,通信群A中具有10个成员,其中用户B在通信群里发起视频聊天,当其他9个成员全部接听视频通话后,当前通话路数为10,但是显示设备的预设路数为9,即视频通话界面最多显示9个视频窗口,那么势必有1个成员无法进行视频接入,则该成员可以语音接入,即采用视频窗口+语音窗口相结合的模式,在视频通话界面上显示9个视频窗口和1个语音窗口。又比如,支持两路视频的显示设备A正在和支持3路视频的显示设备B进行两路视频通话时,如果通话双方中的任意一方邀请了第三方,支持两路视频的显示设备A可以通过接入通话时间的判定,将最后接入的第三方显示设备C的音视频数据设置成语音通话,使得当前通话可以继续保持,而支持3路视频的显示设备B则可以调用3路视频通话的界面布局模板进行视频通话。再比如,支持两路视频的显示设备A、支持3路视频的显示设备B、支持4路视频的显示设备C正在进行三路视频通话时,如果通话三方中的任意一方邀请了显示设备D,支持两路视频的显示设备A可以通过接入通话时间的判定,将最后接入的显示设备D的音视频数据设置成语音通话,使得当前通话可以继续保持;支持3路视频的显示设备B可以通过接入通话时间的判定,将最后接入的显示设备D的音视频数据设置成语音通话,使得当前通话可以继续保持;支持4路视频的显示设备C可以使用4路视频通话的界面布局模板进行通话窗口的显示。
在一些实施例中,本显示设备根据参与通话的对端显示设备的接入时间,来确定进行视频展示的对端显示设备的音视频数据和进行音频展示的对端显示设备的音视频数据,接入在后的对端显示设备,在超出预设路数时,仅进行音频数据的展示。
在一些实施例中,显示设备根据用户的切换操作,设置进行视频展示的显示设备的音视频数据和仅进行音频展示的显示设备的音视频数据。
在一些实施例中,如图6b和图6c所示,以支持3路视频通话的显示设备为例,对通话过程中的界面实现进行阐述,其他路数的切换过程和本示例类似。在界面显示的窗口中,语音窗口和视频窗口上均增加用户标识以表征音视频流对应的不同显示设备,在一些实施例中,标识可以根据本设备的通讯录或备注生成,在一些实施例中,标识可以根据对端的设备标识或账号标识进行生成。
在一些实施例中,用户1的显示设备为显示设备A,用户2的显示设备为显示设备B,用户自己的显示设备为显示设备C,用户4的显示设备为显示设备D。
在一些实施例中,在如图6b所示的场景中,用户1、用户2和自己在进行视频通话,服务器为视频通话建立虚拟房间,显示设备A、显示设备B和显示设备C分别访问虚拟房间,以将本地采集的音视频数据上传到服务器,并根据设备ID和/或账号ID拉取对端显示设备上传的音视频数据。在一些实施例中,对端的音视频数据可以使服务器根据设备ID和/或账号ID区分后,通知本显示设备进行拉取的。
在一些实施例中,在如图6c所示的场景中,之前参与通话的三方中的任意一方通过界面中的邀请控件邀请用户4加入通话,或者在初始时就有4个加入通话的通话成员,即当前通话路数为4,但是用户4加入时间晚于用户1、用户2和自己时,再或者,可以通过其他自动通话加入的手段加入通话时,显示设备在原来的界面布局上增加浮层(即第二区域),第二区域中设置语音窗口,语音窗口中可以根据预置的字符以及从服务器获得的后加入发音视频数据对应的用户标识在空间上展示用户4的标识,以及其他提示信息。
在一些实施例中,如果用户1退出通话,则显示界面中原来显示用户1的音视频数据的视频窗口可以用来展示用户4的音视频数据,并取消包含用户4的语音窗口的第二区域。
在一些实施例中,当前通话路数大于预设路数,即采用视频窗口+语音窗口模式的视频通话界面时,界面中主要可以包括第一区域和第二区域,第一区域中显示预设路数个视频窗口,第二区域中显示数量为实际路数与预设路数之差的语音窗口。
以视频通话的实际路数为6,显示设备的预设路数为3举例,如图7所示,由于预设路数为3,所以第一区域中包括3个视频窗口,每个视频窗口中显示对应成员的视频画面,同时视频窗口中还设置有语音控件,用于播放对应成员的音频。视频窗口中还可以标识用户ID,用以识别每个视频窗口对应的通话成员,这里所述的用户ID可以是用户名、账户或者备注名称等,比如图7中3个视频窗口对应的用户ID分别为用户1、用户2和用户3(这里仅仅是示例性的,不代表实际用户ID的表示)。
图7中第二区域中包括3个语音窗口,用以播放对应成员的音频,语音窗口中由于无法看到好友的真实视频画面,因此可以显示预设图像,这里所述的预设图像可以是统一的虚构头像,或者是用户在视频通话应用中设置的头像;语音窗口中可以显示“语音接入中”等提示信息,用于提示该好友已接入语音,并正在与本端用户进行语音通话;语音窗口中还可以标识用户ID,用以识别每个语音窗口对应的通话成员,这里所述的用户ID可以是用户名、账户或者备注名称等,比如图7中3个语音窗口对应的用户ID分别为用户4、用户5和自己。第一区域和第二区域在位置上无交叉、重叠和遮挡。
视频通话界面中,当前通话路数大于预设路数时,第一区域内视频窗口的数量等于预设路数,第二区域内语音窗口的数量不限定,主要取决于通话过程中接入虚拟房间的通话路数、邀请新成员的数量和挂断语音接入的数量。由于第二区域内受视频通话界面和语音窗口尺寸的限制,可能导致语音窗口未能完全显示,比如语音接入的成员有6个,但是用户在第二区域中最多只能看到4个,那么用户可以在第二区域中左右滑动,来查看第二区域中隐藏的2个语音窗口。当前通话路数小于或等于预设路数时,只需根据当前通话路数对应的界面布局模板进行视频窗口的显示,这种情况下不显示第二区域和语音窗口。
在实际应用中,视频窗口和语音窗口是相对固定的,参照图7,用户4是语音接入,那么本端用户与用户4只能进行语音聊天而无法进行视频聊天,同样地,用户1是视频接入,本端用户与用户1只能保持视频聊天而无法切换到语音聊天。用户只能看到第一区域中视频窗口对应的通话对象,但无法看到第二区域中语音窗口对应的通话对象,由于用户无法看到虚拟空间中全部成员的视频画面,那么就会存在期望自主选择观看哪个成员的视频画面的需求。
对此,在视频通话界面体现为第一区域的视频通话+第二区域的语音通话的模式下,本申请提供了在视频通话过程中切换音视频窗口的方案。下面首先介绍多路视频通话启动时,切换音视频窗口的处理逻辑以及对应的UI变化展示,具体是以预设路数为3进行示例。
在一些实施例中,当视频通话启动时,首先确定当前通话路数是否大于预设路数,如果是,说明参与通话的视频路数超出第一区域内视频窗口的数量的上限,需要先在通话界面中调用最大数量(即预设路数)对应的界面布局模板,根据通话接入的时间在通话界面的视频窗口上播放接入的显示设备的音视频数据,在通话界面的视频窗口均显示音视频流对应的音视频数据后,之后加入的通话成员只能转语音接入,通过第二区域上的语音窗口进行展示;如果当前通话路数未超过预设路数,说明参与通话的视频路数未超出第一区域内视频窗口的数量的上限,可以在通话界面调用当前通话路数对应的界面布局模板,并在第一区域的视频窗口中展示接入视频通话的显示设备的音视频数据,之后加入的通话成员还可以视频接入,直至第一区域内视频窗口的数量达到上限;如果视频通话的实际路数等于预设路数时,说明本端用户接入后第一区域刚好达到上限,那么之后加入的通话成员只能转语音接入。
在一些实施例中,当有新的通话方加入时,首先确定当前通话路数是否大于预设路数,如果是,说明第一区域内视频窗口的数量已达上限,此时及之后加入的通话成员只能转语音接入,通过第二区域上的语音窗口进行展示;如果不大于,说明第一区域未满,则之后加入的通话成员还可以视频接入,通过调用不同的界面布局模板显示接入后的显示设备的音视频数据,直至第一区域内视频窗口的数量达到上限;如果当前通话路数等于预设路数时,说明接入后第一区域刚好达到本端显示设备的上限,那么新加入的通话成员只能转语音接入。
在一些实施例中,比如本地显示设备的预设路数为3路,但是视频通话当前接入的成员有5个,那么新用户接入时,新用户在本地显示设备中一般默认语音接入模式,即在第二区域中新增一个语音窗口;新接入的情形如图6b和图6c所示。自己对应的显示设备C,在接收到服务器发送的有新的视频接入的通知后,增加第二区域,并在第二区域中设置语音窗口,显示设备C的控制器在服务器的虚拟房间中拉取新接入的显示设备D上传的音视频数据,并对接收到的音视频数据进行音频数据和视频数据的分离,在一些实施例中,显示设备C的控制器,仅解析分离后的音频数据,并送往显示设备C的声音输出设备进行音频输出,不解析分离后的视频数据。在一些实施例中,显示设备C的控制器,解析分离后的音频数据和分离后的视频数据,但将解析后的音频数据送往显示设备C的声音输出设备进行音频输出,丢弃解析后的视频数据,从而实现显示设备D的语音接入。
在一些实施例中,语音窗口的用户标识可以根据服务器发送的有新的视频接入的通知中携带的用户标识进行展示,也可以根据拉取的音视频数据中的用户标识进行展示。
在一些实施例中,为了给用户进行音视频窗口切换提供一定的提示和引导,当前通话路数大于预设路数时,可以在视频通话界面的上层显示提示弹窗,提示弹窗的弹出时机可以是视频通话启动时或者通话过程中。比如显示设备的预设路数为3,当前通话路数为3,通话过程中,任一方邀请1位新成员加入该通话,该新成员接入虚拟房间后,会使当前通话路数超过预设路数,则显示设备接收到邀请成功信息后,可以弹出提示弹窗。又比如,本端设备支持4路通话,本端用户在接听8人视频通话前,虚拟房间已经有5人接入,本端用户为第6个接入,那么本端用户接入时已经超出其设备支持的预设路数,则可以在本端用户接听来电成功后弹出提示弹窗。当前视频通话路数小于或等于预设路数时,不显示提示弹窗。
在一些实施例中,提示弹窗的一种显示界面如图8所示,提示弹窗里可以显示如“亲,受限于您的电视配置,超过X方加入的视频通话将自动切换为语音接入哦”的提示信息,其中X是预设路数的数值,这样本端用户即可获知自己接入或者新通话方接入后的路数已经超过预设路数,超过预设路数后接入虚拟房间的成员将自动切换为语音接入该视频通话。
其次,提示弹窗中还可以显示如“按下键打开操作按钮—选择‘切换音视频’可以将语音切换成视频哦”的引导信息,用户可在如图7的界面点击第一控件以打开操作按钮,第一控件可以是图7中的“下键”或者也可以是其他形式,从而将操作按钮展开,操作按钮包括但不限于麦克风状态控件、摄像头状态控件、挂断控件、邀请控件、切换音视频窗口控件和小窗通话控件等,用户点击其中的切换音视频窗口控件,即可将某个对象的语音聊天模式切换为视频聊天模式。
提示弹窗的底部还可以设置如“不再提示”和“我知道了”等形式的操作控件,用户点击“我知道了”,即可销毁当前的提示弹窗,待下次用户启动视频通话时,如果超过预设路数则需要再次启动该提示弹窗;若用户点击“不再提示”,即可销毁当前的提示弹窗,但该提示弹窗仅显示这一次,以后即便接入通话时超过预设路数,也不再显示该提示弹窗。
用户在提示弹窗上点击“我知道了”或者“不再提示”之后,提示弹窗被销毁,然后即可进入如图7所示的视频通话界面,用户点击第一控件后,即可打开操作按钮,如图9所示,操作按钮包括但不限于麦克风状态控件、摄像头状态控件、挂断控件、邀请控件、切换音视频窗口控件和小窗通话控件等。所述麦克风控件用于被触发时开启或关闭麦克风;所述摄像头控件用于被触发时开启或关闭摄像头;所述挂断控件用于被触发时挂断当前的视频通话;所述邀请控件用于被触发时邀请新成员加入当前的视频通话;所述小窗通话控件用于被触发时,将当前全屏的视频通话界面切换为小窗,以支持用户在观看其他信号源或应用程序时,能同时进行视频通话,即实现边看边聊。在这些常规操作控件的基础上,本方案增设切换音视频窗口控件,以实现被触发时启动音视频切换逻辑。
由于视频通话设置的操作按钮较多,因此以控件列表的形式浮层显示,图9中控件列表呈现为在第二区域按行浮层展示,并可以通过左右滑动来切换操作控件,当然在具体实现时控件列表的显示形式不做限定,比如按列展示或者阵列展示等,并且控件列表浮层的展示位置也不作限定。用户可通过操作遥控器或鼠标等设备,将光标对准相应控件并点击确定键来输入一些操作指令,在具体实现时,光标在控件列表上移动时,可以使不同的控件获取焦点,比如光标移动到切换音视频窗口控件时,切换音视频窗口控件获取焦点而相对地呈现一定程度的放大,同时显示tips信息,比如“点击这里将语音切换成视频”。在用户未点击控件列表中的任一操作控件时,也可通过一定的操作隐藏控件列表,比如一次点击第一控件时打开控件列表,当二次点击第一控件时可以隐藏控件列表;或者,用户在视频通话界面上除控件列表浮层之外的其他位置进行单击/双击等操作,来隐藏控件列表;又或者,可以设置时间阈值,当控件列表的显示时间超过时间阈值并且用户未点击任何操作控件时,即可自动隐藏控件列表,控件列表的隐藏和显示方案可以根据实际应用灵活设定。
响应于切换音视频窗口的操作,从第二区域中获取第一对象对应的目标语音窗口,以及从第一区域中获取第二对象对应的目标视频窗口,即在启动切换音视频逻辑后,首先确定需要置换的双方。
具体来说,响应于对第一控件的点击操作,控制显示器在视频通话界面的浮层上显示控件列表,在当前通话路数大于预设路数时,响应于用户点击控件列表中的切换音视频窗口控件的操作,则控制控件列表自动隐藏,同时显示设备内启动音视频切换逻辑,用户可以从第二区域中选择目标语音窗口,目标语音窗口对应的通话成员为替换对象,即第一对象,通过替换第一区域中某个成员来切换至视频窗口,体现在UI层面上时,如图10所示,用户可以通过点击遥控器上的方向键,或者移动遥控器/鼠标等方式,在第二区域左右移动焦点。当某个语音窗口获取焦点时,该语音窗口相对地呈现一定程度的放大,同时显示tips信息,比如“按确定键O选择要切换成视频的好友”。图10中用户4对应的语音窗口获取焦点,如果用户点击确认键,即确认了用户4对应的语音窗口为目标语音窗口,则显示设备响应于对目标语音窗口的确认操作,记录第一对象为目标语音窗口对应的第一用户ID,即记录第一对象为用户4。
在第一对象确认完成后,用户可以从第一区域中选择目标视频窗口,目标视频窗口对应的通话成员为被替换对象,即第二对象,通过被第一对象替换到第二区域中从而切换至语音窗口。在一种选择第二对象的实现方式中,显示设备响应于对目标语音窗口的确认操作,还可以控制显示器在通话界面上层显示第二对象选择弹窗,体现在UI层面上时,如图11所示,在视频通话界面的上层显示第二对象选择弹窗,第二对象选择弹窗中可以显示提示信息,比如“请选择要替换成语音的好友”,第二对象选择弹窗中显示有第一区域内包括的全部视频窗口对应的用户ID,在图7~图10的示例中,第一区域包括3个视频窗口,分别对应于用户1、用户2和用户3,则将用户1、用户2和用户3展示在第二对象选择弹窗上,可以展示用户ID和应用头像,以供用户选择。
显示设备获取用户在所述第二对象选择弹窗中点选的第二用户ID,记录所述第二对象为所述第二用户ID,第二用户ID对应的视频窗口即为目标视频窗口。图11中用户1被点选,即第二用户ID为用户1,则记录第二对象为用户1,相当于将第一对象和第二对象通话窗口进行了置换,切换完成后如图12所示,用户4切换到之前用户1的视频窗口(即目标视频窗口),用户1切换到之前用户4的语音窗口(即目标语音窗口),使得用户4由语音聊天切换至视频聊天,用户1由视频聊天切换至语音聊天,同时可以在界面上显示用于提示本端用户切换成功的信息,比如“视频窗切换成功”,则此次音视频窗口切换过程结束。
显示设备从服务器的虚拟房间同时拉取用户4的音视频数据,并将用户4的音视频数据关联到目标视频窗口播放。同时,显示设备停止从虚拟房间拉取用户1的视频数据,仅拉取用户1的音频数据,并将用户1的音频数据关联至目标语音窗口播放;或者,显示设备仍同时从虚拟房间拉取用户1的音视频数据,但是仅解析和输出用户1的音频数据,但不解析和输出用户1的视频数据,这样也可以实现用户1的语音接入效果。
当然,选择第二对象的方式不限于本申请实施例所述,还可采用其他实现方式,比如可采用类似于第一对象的选择方式,直接在第一区域中点选目标视频窗口。在视频通话未挂断之前,本端用户可随时根据个人意愿,选择将任一个语音接入的好友或自己切换为视频窗口模式,切换时用户操作、UI显示和音视频切换逻辑可参照上述描述。
在一些实施例中提供的显示设备,可以包含上述一些实施例中的显示设备,也可以是其他可实现本申请的显示设备,显示设备包括:用于显示视频通话界面以及前述UI的显示器275,用于播放各通话成员音频的声音播放器,用于使显示设备200与服务器400通信连接的通信器220,用于接收用户输入操作的用户接口265,以及用于处理多路视频通话和切换音视频窗口的控制器250。其中,声音播放器可以是扬声器286,或者外接音响设备等。如图13所示,其中控制器250被配置为执行如下多路视频通话处理方法:
步骤S0,从服务器获取视频通话的当前通话路数。
显示设备可以向服务器发送查询请求,服务器响应于查询请求,会查询虚拟房间内记录的当前通话路数,并将当前通话路数发送给显示设备,或者,服务器检测到虚拟房间内记录的当前通话路数发生变更,则向显示设备发送最新的当前通话路数,从而将虚拟房间记录的当前通话路数同步到各通话成员的显示设备。
在一些实施例中,发起方发起视频通话后,由于被邀请的成员响应和接听的时间不同,因此在所有成员都接听前,虚拟房间记录的当前通话路数是不断增加的,每当有一个成员新接入虚拟房间,则当前通话路数累积加1,直至最终达到发起方指定的通话人数,这时当前通话路数暂时不再变化。
在视频通话过程中,由于控件列表中设置有邀请控件,因此通话中的任一方都可以点击邀请控件来邀请新成员加入通话,这里所述的新成员可以是发起方发起通话时未在邀请之列的用户,比如用户A邀请了用户B和用户C进行视频通话,即发起了3人通话,通话过程中用户B邀请了用户D加入该视频通话,则用户D即为新成员,用户D接听邀请来电后,虚拟房间中接入用户D,则记录的当前通话路数加1,即当前通话路数变更为4。每邀请1个新成员成功,则当前通话路数就需要累积加1一次。
又比如,本端用户A邀请了用户B和用户C进行视频通话,即发起了3人通话,在视频通话未结束前,用户C点击了挂断控件,挂断了视频通话,则用户C退出了虚拟房间,虚拟房间记录的当前通话路数需要减1,即当前通话路数变更为2。每有一个成员挂断通话,则当前通话路数就需要累积减1一次。用户C挂断视频通话后,用户A或用户B还可以通过邀请控件重新邀请用户C再次加入视频通话,这种情况下新成员是在发起方发起通话时的邀请之列。步骤S10,判断当前通话路数是否大于预设路数。如果判断结果为是,则执行步骤S20~ S40;反之,如果判断结果为否,则执行步骤S50。
响应于确定当前通话路数大于预设路数,在步骤S20中,调用所述预设路数对应的界面布局模板,来控制显示器在视频通话界面上的第一区域显示预设路数个视频窗口;以及,在第二区域显示数量为所述当前通话路数与所述预设路数之差的语音窗口。
当视频通话的实际路数大于预设路数时,视频通话界面体现为第一区域的视频通话+第二区域的语音通话相结合的模式,其中预设路数为显示设备能够支持的视频通话路数,第一区域最多显示预设路数个视频窗口,那么剩余的路数可以切换为第二区域中的语音窗口,即第一区域和第二区域中窗口数量和等于实际路数。
在第一区域中各个视频窗口和第二区域中各个语音窗口可以具有预设的窗口排序规则,参照图6的布局,视频窗口序号越小则序位越高,视频窗口序号越大则序位越低。排序规则可以包括多种,比如随机排序,用户指定的优先级,或者按照加入虚拟房间的时间先后顺序排序等。
在一些实施例中,控制器还用于执行:在视频通话启动后,根据通话成员加入虚拟房间的时间顺序,首先在第一区域内排序显示视频窗口;响应于第一区域内视频窗口的总数达到所述预设路数,将之后的通话成员接入虚拟房间的模式切换为语音接入,并按照加入虚拟房间的时间顺序,在第二区域内排序显示语音窗口。
发起人发起视频通话后,由于每个通话成员接听和响应的时间不同,那么各通话成员加入虚拟房间的时间也就不同。例如,本端设备的预设路数为3,用户1发起6人视频通话,之后加入虚拟房间从先到后顺序依次为用户2、用户3、用户4、用户5、本端用户6(即自己),由于用户1是发起人(即是最早加入虚拟房间的人),然后是用户2和用户3依次加入虚拟房间,则本端设备显示的视频通话界面上,在第一区域内按照用户1、用户2、用户3排序并显示各自对应的视频窗口;用户3接入时达到预设路数的上限,则在用户3之后开始的用户4就自动切换为语音接入模式,然后依次是用户5、用户6(自己)语音接入,则在第二区域中按照用户4、用户5和自己排序显示各自对应的语音窗口,从而呈现如图7中所述的排序状态。
在一些实施例中,本端用户希望能够在第一区域中看到自己的视频画面,则比如可设置排序规则为将本端用户的视频窗口设置在第一区域的最末位,将发起人的视频窗口设置在第一区域的首位,第一区域内其他视频窗口以及第二区域内各音频窗口可以根据接入通话的时间顺序排序。
步骤S30,响应于切换音视频窗口的操作,从第二区域中获取第一对象对应的目标语音窗口,以及从第一区域中获取第二对象对应的目标视频窗口。
在一些实施例中,参照图8,控制器还用于执行:在视频通话启动时,如果当前通话路数大于预设路数,控制显示器显示提示弹窗;所述提示弹窗用于提示用户通过点击第一控件来显示控件列表,以及通过点击切换音视频窗口控件,将语音通话切换为视频通话,同时还提示用户通过点击其他操作控件执行相应的处理逻辑;如果当前通话路数小于或等于预设路数,则不显示所述提示弹窗。
在当前通话路数大于预设路数时,可以显示如图8所示的提示弹窗,并在用户点击“我知道了”或者“不再提示”之后,销毁提示弹窗,回到视频通话界面;在当前通话路数小于或等于预设路数时,说明这时仍支持用户以视频接入的方式接入视频通话,则不必显示提示弹窗。
在一些实施例中,参照图9,控制器还用于执行:响应于对第一控件的点击操作,控制显示器在视频通话界面的浮层上显示控件列表;其中,所述控件列表包括用于麦克风状态控件、摄像头状态控件、挂断控件、邀请控件、切换音视频窗口控件和小窗通话控件等操作控件。
在一些实施例中,参照图10和图11,对于步骤S30,控制器具体用于执行:在当前通话路数大于预设路数时,响应于对所述切换音视频窗口控件的点击操作,获取用户在第二区域选定的所述目标语音窗口;响应于对所述目标语音窗口的确认操作,记录所述第一对象为所述目标语音窗口对应的第一用户ID,并控制显示器在视频通话界面的上层显示第二对象选择弹窗;所述第二对象选择弹窗中显示有第一区域内包括的全部视频窗口对应的用户ID;获取用户在所述第二对象选择弹窗中点选的第二用户ID,记录所述第二对象为所述第二用户ID。
在控件列表显示之后,用户点击其中的切换音视频窗口控件,即输入了切换音视频窗口的操作,根据用户在第二区域的选择和确认操作,控制器可以获取并记录第一对象及其对应的目标语音窗口,比如图10中目标语音窗口是第二区域中序位号为1的语音窗口,目标语音窗口上标识的第一用户ID为用户4,即第一对象记录为用户4;根据用户在第二对象选择弹窗上的选择操作,控制器可以获取并记录第二对象及其对应的目标视频窗口,比如图10中目标视频窗口为第一区域中序位号为1的视频窗口,目标视频窗口上标识的第二用户ID为用户1,即第二对象记录为用户1。
步骤S40,将所述第一对象的音视频数据关联至所述目标视频窗口播放,以及,将所述第二对象的音频数据关联至所述目标语音窗口播放。
参照图12,用户4的音视频数据关联至目标视频窗口播放,则本端用户不仅可以听到用户4的语音,还可以在目标视频窗口看到用户4的视频画面;而作为被替换对象的用户1,本端用户无法再看到用户1的视频画面,但是可以在目标语音窗口听用户1的语音,从而将用户4由原来的语音接入切换为视频接入,将用户1由原来的视频接入切换为语音接入,实现音视频窗口的切换。
对于第一区域内各通话对象的视频窗口,由于需要同时播放视频和音频,因此需要从服务器获取第一区域内各通话对象的音视频数据,即从服务器同时拉视频流和音频流。对于第二区域内的各个语音窗口,由于只需播放音频,因此可以涉及两种方式,第一种是只拉音频流但不拉取视频流;第二种是同时拉取视频流和音频流,但是不解码和渲染视频数据,这样未被解析的视频数据无法在显示器上播放,也能实现单独语音接入的效果。其中,所述通话对象为虚拟房间中除本端用户之外其他的通话成员,这是由于本端用户可以通过本端声音/图像采集器去采集音视频数据,因此无需从服务器拉取本端用户的音/视频流,所以拉取的是除本端用户之外对端的通话对象的音/视频流。
在一些实施例中,对于上述第一种情况,控制器还用于执行:从服务器获取虚拟房间内所有通话对象的音视频数据;将第一区域内的通话对象的音视频数据分别关联至对应的视频窗口播放;不解析第二区域内的通话对象的视频数据,仅将第二区域内的通话对象的音频数据分别关联至对应的语音窗口播放;在响应于切换音视频窗口的操作之后,从服务器获取所述第一对象的音视频数据,以及停止从服务器获取所述第二对象的视频数据。
对于第二区域内的语音窗口,仅获取通话对象的音频数据,而不获取视频数据,当用户选择将第一对象的语音窗口切换为视频窗口模式时,由于之前第一对象一直处于语音接入状态,即一直保持着拉取第一对象的音频流,因此只需开启第一对象的视频数据的传输通道,以从服务器的虚拟房间中开始拉取第一对象的视频流,这样控制器就得获取到第一对象的音视频数据,并关联至目标视频窗口去播放。而第二对象被替换到语音接入,因此只需停止从服务器获取第二对象的视频数据,并保持从服务器获取第二对象的音频数据,即只需关闭第二对象的视频数据传输通道,即可停止拉取第二对象的视频流,然后将第二对象的音频数据关联至目标语音窗口播放。
在一些实施例中,对于上述第二种情况,控制器还用于执行:从服务器获取第一区域内包括的通话对象的音视频数据,并分别关联至对应的视频窗口播放;仅从服务器获取第二区域内的通话对象的音频数据而不获取视频数据,将第二区域内的通话对象的音频数据分别关联至对应的语音窗口播放;在响应于切换音视频窗口的操作之后,启动解析所述第一对象的视频数据,以及停止解析所述第二对象的视频数据。
该实施例中,对于第二区域内的语音窗口,仍然拉取视频流和音频流,但是不解析视频数据。当用户选择将第一对象的语音窗口切换为视频窗口模式时,保持拉取第一对象和第二对象的音视频流,启动解析第一对象的视频数据,使得第一对象的视频解析后能够在目标视频窗口播放;第二对象的视频数据需要停止解析,这样未被解析的第二对象的视频数据无法在显示器上显示,将第二对象的音频数据关联至目标语音窗口播放,从而将第二对象切换为语音接入模式。
在一些实施例中声音关联至语音窗口播放可以是指: 根据语音窗口对应的用户确定不在显示器显示该用户的视频,仅通过声音播放器播放该用户的声音数据。在一些实施例中,可以是从服务器拉取该用户的音视频数据/从本地采集音视频数据,但是不解析该用户的视频数据,解析音频数据,也可以是仅从服务器拉取音频数据不拉取视频数据。
在一些实施例中,声音关联至语音窗口播放还可以是指根据语音窗口对应的用户确定不在显示器显示该用户的视频,仅通过声音播放器播放该用户的声音数据,同时在语音窗口加载动态控件,该动态控件被配置为在语音窗口对应的用户的声音数据满足预设条件时动态展示该动态控件,在用户的声音数据不满足预设条件时,展示动态空间的静止图像。
在一些实施例中,第一对象的音视频数据关联至所述目标视频窗口播放,可以是指将第一对象的音视频数据中的视频数据在目标视频窗口播放,将第一对象的音视频数据中的音频数据通过声音播放器播放。在一些实施例中,可以是从服务器拉取该用户的音视频数据/从本地采集音视频数据。
在一些实施例中,第一对象的音视频数据关联至所述目标视频窗口播放,还可以是指将第一对象的音视频数据中的视频数据在目标视频窗口播放,将第一对象的音视频数据中的音频数据通过声音播放器播放。同时在目标视频窗口加载动态控件,该动态控件被配置为在目标视频窗口对应的用户的声音数据满足预设条件时动态展示该动态控件,在用户的声音数据不满足预设条件时,展示动态空间的静止图像。
在一些实施例中,关联的目的是为了使用户能看到哪个视频窗口对应哪个接入的用户,哪个语音窗口对应哪个接入的用户。
在一些实施例中每一个窗口(视频窗口或语音窗口)上均设置有用户标识控件,所述用户标识控件展示的名称可以直接展示接入视频通话的用户的ID,在一些实施例中,用户标识控件还可以展示结合显示设备中预存储的通讯录进行展示,如过接入视频通话的用户在通讯录中有备注的名称,则根据备注的名称在用户标识控件上进行显示,如果没有则展示对端用户自定义的备注,该备注和用户ID唯一对应或相同。
在一些实施例中表征用户本身的窗口中的用户标识控件展示的文本是“自己”、“本人”、“我”中的任意一个,并不根据用户ID,或备注名称,或自定义备注进行展示,但与用户ID存在映射。对端的接入设备的名称进行用户标识控件的展示。
在一些实施例中,窗口的序号和用户的ID之间存在映射,用户根据用户的ID从服务器拉取音视频流后,解析出的视频数据根据映射在对应的视频窗口进行显示。
在一些实施例中,根据视频窗口的序号和用户的ID之间存在映射,确定需要进行解析和不需要解析的音视频数据,或,根据语音窗口的序号和用户的ID之间存在映射,确定需要进行解析和不需要解析的音视频数据,以使得和视频窗口存在映射的音视频数据进行视频数据的解析,和语音窗口存在映射的音视频数据不进行视频数据的解析。
在一些实施例中,根据视频窗口的序号和用户的ID之间存在映射,检测窗口对应的音频数据,并根据音频数据对动态控件进行控制。
响应于确定当前通话路数小于或等于预设路数,在步骤S50中,调用所述当前通话路数对应的界面布局模板,来控制显示器在视频通话界面上显示当前通话路数个视频窗口,不显示语音窗口。
当前通话路数小于或等于预设路数时,可以参照图6a示出的界面布局模板,根据当前通话路数选择对应的界面布局模板来显示各视频窗口,并将从服务器拉取的各通过对象的音视频数据关联到对应的视频窗口去播放。由于不显示语音窗口,这时视频通话界面上没有第一区域和第二区域的划分,或者也可以理解为只有第一区域而没有第二区域。
本申请能够提高显示设备处理多路视频通话的能力,在当前通话路数大于预设路数时,通过在控件列表中增设的切换音视频窗口控件以及对应的音视频切换逻辑,实现音视频窗口的自由灵活切换,使得用户能够根据个人意愿看到好友们的视频画面,使得多路视频通话不再受限于显示设备的配置和机型,提升了用户视频通话的应用体验。
本申请上述各实施例中,考虑到无法看到语音接入的成员的视频画面,所以是从将第二区域内第一对象由音频切换为视频的角度出发,先选择第一对象,然后选择被第一对象替换视频接入的第二对象。在实际应用中,比如第一区域内的用户1当前的视频画面质量不好或是显示黑屏等情况,导致本端用户可能不太想看用户1的视频画面,所以也可以是从将第一区域内的某个对象由视频切换为音频的角度考虑,将用户1切换至音频接入,用户点击切换音视频窗口控件后,可以先在第一区域内选择用户1作为替换对象,然后在第二区域中选择被替换的用户4,从而将用户1由视频切换为语音,将用户4由语音切换为视频。
需要说明的是,对于虚拟房间内各个通话成员使用的显示设备,虽然都可以配置上述各实施例中说明的多路视频通话处理逻辑,但是由于显示设备自身的配置、性能和机型不同,这些显示设备上视频通话界面的UI和窗口布局可能不同,比如,当前视频通话的实际路数是6,用户1的显示设备的预设路数9,用户2的显示设备的预设路数是3,那么用户1观看的视频通话界面上显示6个视频窗口而无语音窗口,用户2观看的视频通话界面上显示3个视频窗口和3个语音窗口,由此可见,每个显示设备是基于自身配置去处理多路视频通话逻辑;另外,每个通话成员是根据自身观看意愿去切换音视频窗口,本地用户切换音视频窗口所产生的UI变化仅呈现在本端设备,而不会同步到其他通话成员的显示设备,因此不会影响其他通话成员,其他通话成员也无法感知本地用户的切换音视频窗口的操作。
总而言之,虽然虚拟房间中每个成员的显示设备配置同一个多路视频通话处理逻辑,但是各设备处理多路视频通话的过程是独立的,相互之间无影响、无干扰,每个显示设备可基于自身配置和本端用户的观看意愿等因素,根据前述处理逻辑适应性地处理本端的多路视频通话。
在一些实施例中,用户在视频通话过程中,可以根据意愿选择邀请新成员加入当前通话,对此,如图14所示,控制器还用于执行:响应于对所述邀请控件的点击操作,获取被用户邀请的第三对象的第三用户ID;将所述第三用户ID发送给服务器,以使服务器在接收到第三用户ID之后向所述第三对象的显示设备发送邀请信息。
用户点击邀请控件后,可以在联系人列表里选择被邀请的第三对象,或者输入第三对象的账户、视频通话应用绑定的手机号或邮箱等信息来查找第三对象,以邀请第三对象加入当前的视频通话,这时控制器可以自动获取到第三对象的第三用户ID,或者本端用户可以手动输入第三对象的第三用户ID,从而使控制器获取到第三用户ID。控制器将第三用户ID发送给服务器,服务器接收第三用户ID,并根据第三用户ID,向第三对象使用的显示设备发送邀请信息,邀请信息中可以携带有邀请人的信息、视频通话的相关信息(比如包括XX聊天群,聊天群内当前通话的成员)等相关内容;第三对象的显示设备响应于邀请信息,可以控制视频通话应用生成来电界面和提示音,来电界面中可以显示如“用户A邀请您加入XX聊天群”,并且来电界面上还可设置有接听控件和取消控件。第三对象点击取消控件,则邀请失败,视频通话维持当前状态不变;如果第三对象点击接听控件,则第三对象接听视频通话来电,加入虚拟房间,从而邀请成功;服务器响应于第三对象已接听的消息,虚拟房间新加入了第三对象,则将当前通话路数加1,得到更新后的当前通话路数,然后向控制器发送邀请成功信息。
在一些实施例中,如图14所示,控制器还用于执行:响应于接收到服务器发送的邀请成功信息,在更新后的当前通话路数大于预设路数时,控制显示器在第二区域内显示新增的语音窗口,从服务器获取第三对象的音频数据,并将所述第三对象的音频数据关联至所述新增的语音窗口播放。其中,所述指示信息为服务器在第三对象的显示设备响应于所述邀请信息并接听视频通话来电时,将虚拟房间记录的当前通话路数加1之后发送的。
控制器接收并响应邀请成功信息,需要比较更新后的当前通话路数与预设路数的大小关系,本实施例中更新后的当前通话路数大于预设路数,说明第三对象未接入时,第一区域内视频窗口的数量已达上限,比如当前通话路数为3个,本端设备的预设路数为3,即第一区域内视频窗口数量刚好为上限路数,这时不显示第二区域,当第三对象邀请成功时,更新后的当前通话路数变更为4,则本端设备需要将第三对象切换为语音接入,并新增1个第三对象的语音窗口于第二区域展示,从服务器只接收第三对象的音频数据,或者接收第三对象的音视频数据,但不解析和输出第三对象的视频数据,将第三对象的音频数据关联到新增的语音窗口去播放,这样本端用户就可以听见第三对象发出的语音消息。又比如,当前通话路数为5个,本端设备的预设路数为3,即第一区域内视频窗口数量达到上限,第二区域内包括2个语音窗口,由于第三对象是最后接入虚拟房间的,因此可以将新增的第三对象的语音窗口排序在第二区域的末位进行展示,更新后的第二区域包括3个语音窗口。本实施例中新邀请的第三对象是语音接入,本端用户如需将第三对象由语音接入切换为视频接入,可以采用前述音视频切换逻辑,这里不再赘述。
在一些实施例中,如图14所示,控制器还用于执行:响应于接收到服务器发送的邀请成功信息,在更新后的当前通话路数小于或等于预设路数时,控制显示器在第一区域内显示新增的视频窗口,调用更新后的当前通话路数对应的界面布局模板以及利用预设的窗口排序规则,对视频通话界面进行刷新。从服务器获取第三对象的音视频数据,并将所述第三对象的音视频数据关联至所述新增的视频窗口播放;其中,所述指示信息为服务器在第三对象的显示设备响应于所述邀请信息并接听视频通话来电时,将虚拟房间记录的当前通话路数加1之后发送的。
控制器接收并响应邀请成功信息,需要比较更新后的当前通话路数与预设路数的大小关系,本实施例中更新后的当前通话路数小于或等于预设路数,说明第三对象未接入时,第一区域内视频窗口的数量未达到上限,比如当前通话路数为5个,本端设备的预设路数为6,即第一区域内视频窗口数量为5个,这时不显示第二区域,当第三对象邀请成功时,更新后的当前通话路数变更为6,即第三对象接入后第一区域内视频窗口数量刚好达到上限,则本端设备可以支持第三对象视频接入;又比如,当前通话路数为6个,本端设备的预设路数为9,第三对象邀请成功时,更新后的当前通话路数变更为7,即第一区域内视频窗口数量在邀请新成员加入后仍未达到上限,因此本端设备支持第三对象视频接入。
第三对象视频接入时,需要新增1个第三对象的视频窗口,这时由于第一区域内视频窗口的数量增加了,对应的窗口布局可能需要进行适当的调整,比如本端设备的预设路数为9,原来第一区域显示8个视频窗口,第三对象接入后增加至9个视频窗口,则参照图6a,第一区域使用的界面布局模板就需要由2行4列变为3行3列的阵列,然后按照预设的窗口排序规则,比如按照虚拟房间内这9个通话成员接入通话的时间先后顺序,对各成员的视频窗口进行排序,由于第三对象是最后接入虚拟房间的,因此可以将新增的第三对象的视频窗口排序在第一区域的末位展示,刷新视频通话界面,即可得到更新后排序完成的3*3界面,同时从服务器接收第三对象的音视频数据,并将第三对象的音视频数据关联至新增的视频窗口去播放,这样本端用户就可以看到第三对象的视频画面,以及听见第三对象的语音消息。
以上是以邀请一位新成员接入虚拟房间为例,说明了邀请新成员时的处理逻辑以及UI调整,在一些实施例中,邀请方可以同时邀请一个或多个新成员加入通话。当一次性邀请多个新成员加入时,由于每个新成员响应和接听邀请来电的时间可能不一致,相当于每间隔一段时间接入一个新成员,直至所有被邀请的新成员都接入虚拟房间,则可以根据每个新成员接听的先后顺序,适应性调整当前通话路数的变更以及UI界面等内容,处理逻辑与前述邀请逻辑基本类似,这里不再赘述。
在一些实施例中,视频通话未结束前,某个通话对象可能点击挂断控件,提前退出视频通话,可能包括但不限于出现如下几种情形:情形(A),挂断的通话对象是视频接入的,挂断后更新的当前通话路数小于预设路数;情形(B),挂断的通话对象是视频接入的,挂断后更新的当前通话路数等于预设路数;情形(C),挂断的通话对象是视频接入的,挂断后更新的当前通话路数大于预设路数;情形(D),挂断的通话对象是语音接入的,挂断后更新的当前通话路数等于预设路数;情形(E),挂断的通话对象是语音接入的,挂断后更新的当前通话路数大于预设路数。
在一些实施例中,如图15所示,对于情形(A),控制器还用于执行:接收服务器发送的挂断指示信息,所述挂断指示信息是服务器在虚拟房间中的第四对象点击挂断控件时,将虚拟房间记录的当前通话路数减1之后发送的;响应于所述挂断指示信息,如果所述第四对象是视频接入,则控制显示器显示第四对象的挂断提示信息,销毁所述第四对象的视频窗口;确定更新后的当前通话路数小于预设路数时,调用更新后的当前通话路数对应的界面布局模板以及利用预设的窗口排序规则,对视频通话界面进行刷新。
虚拟房间中除本端用户之外的任意一个通话对象(即第四对象)点击挂断控件,提前退出视频通话时,服务器响应于第四对象已挂断的消息,获知虚拟房间内退出了一个用户,该用户为第四对象,则需要将记录的当前通话路数减1,得到更新后的当前通话路数,然后向显示设备的控制器发送挂断指示信息,挂断指示信息中可以携带有第四对象的第四用户ID,用于指示控制器该ID对应的通话对象已挂断视频通话。由于第四对象相对于本端是在视频接入模式下挂断,本端设备无法继续拉取到第四对象的音视频流,因此第四对象的视频窗口上无法显示有效的视频画面,这时视频窗口可能是显示黑屏或灰屏等形式。控制器接收并响应挂断指示信息,控制显示器显示挂断提示信息,挂断提示信息比如是“第四对象已挂断通话”,该挂断提示信息的显示位置不作限定,比如可以在第四对象黑屏的视频窗口上显示,然后需要销毁第四对象的视频窗口,使挂断方的视频窗口不在显示在本端的视频通话界面。
第四对象在视频接入模式下挂断通话时,需要销毁第四对象的视频窗口,这时由于视频窗口的数量减少了,对应的窗口布局可能需要进行适当的调整,如果更新后的当前通话路数小于预设路数,说明第四对象未挂断时视频窗口的数量是小于或等于预设路数的,比如本端设备的预设路数为4,原来视频通话界面显示4个视频窗口,第四对象挂断后减少至3个视频窗口,则参照图6a,视频通话界面使用的界面布局模板就需要由2行2列变为1行3列的阵列,然后按照预设的窗口排序规则,例如按照虚拟房间内剩余的3个通话成员接入通话的时间先后顺序,对新界面布局模板中的3个视频窗口进行排序,即可得到更新后排序完成的1*3界面。
在一些实施例中,如果第四对象未挂断时视频窗口就是按照接入时间的先后顺序进行排序的,那么在第四对象挂断后,可以将排序在第四对象之后的其他视频窗口依次上调1个序位,排序在第四对象之前的视频窗口序位保持不变,比如,第四对象未挂断时按照接入时间顺序依次排序为用户1、用户2、用户3和用户4(自己),当用户2挂断视频通话时,即用户2为第四对象,用户1在新模板中仍保持在首位,将用户3上调至新模板的第2位,将用户4上调至新模板的第三位,则刷新后排序依次为用户1、用户3和用户4。
在一些实施例中,如图15所示,对于情形(B),控制器还用于执行:接收服务器发送的挂断指示信息,所述挂断指示信息是服务器在虚拟房间中的第四对象点击挂断控件时,将虚拟房间记录的当前通话路数减1之后发送的;响应于所述挂断指示信息,如果所述第四对象是视频接入,则控制显示器显示第四对象的挂断提示信息,销毁所述第四对象的视频窗口;确定更新后的当前通话路数等于预设路数时,从服务器获取第二区域中第五对象的音视频数据,在视频通话界面上取消第二区域的显示,并根据所述第五对象的音视频数据关联生成新视频窗口;根据预设的窗口排序规则,对当前的视频通话界面内的各视频窗口进行排序显示。
如果更新后的当前通话路数等于预设路数,说明第四对象未挂断时通话路数为预设路数+1,即第一区域预设路数个视频窗口(包括第四对象)+第二区域1个语音窗口,则第二区域中的这1个视频窗口对应于所述第五对象,那么在第四对象挂断后,就可以将第五对象自动由语音接入切换为视频接入,即销毁第五对象的语音窗口,在视频通话界面上取消第二区域的显示,并从服务器启动拉取第五对象的视频流,加之一直处于拉流状态的音频流,即同时获取到了第五对象的音视频数据,根据第五对象的音视频数据关联生成新视频窗口,使本端用户可以根据新视频窗口看到第五对象的视频画面,以及听到第五对象的语音消息,这时,当前视频通话界面显示无第四对象但包括第五对象的预设路数个视频窗口。
上面提供的是第四对象挂断后,销毁第四对象的视频窗口,为原来唯一语音接入的第五对象创建新视频窗口去播放音视频数据,在一些实施例中,由于第四对象挂断后本端设备无法拉取第四对象的音视频流,因此可以不销毁第四对象的视频窗口,而是将从服务器接收的第五对象的音视频数据关联到第四对象的视频窗口去播放,这样就无需为第五对象创建新的视频窗口,即由第五对象替换第四对象。
由于第四对象未挂断时,第一区域内视频窗口的数量就是预设路数个,而第四对象挂断后,更新后的当前通话路数等于预设路数,因此视频通话界面采用的界面布局模板无需变化,都是预设路数对应的界面布局模板,只需根据预设的窗口排序规则,对当前的视频通话界面的各视频窗口进行排序显示,比如窗口排序规则是按照接入虚拟房间的时间先后顺序,将之前排序在第四对象之后的视频窗口依次上调1个序位,之前排序在第四对象之前的视频窗口的序位保持不变,将第五对象的视频窗口排在模板的末位,排序结束后,即完成了视频通话界面的更新。
在一些实施例中,如图15所示,对于情形(C),控制器还用于执行:接收服务器发送的挂断指示信息,所述挂断指示信息是服务器在虚拟房间中的第四对象点击挂断控件时,将虚拟房间记录的当前通话路数减1之后发送的;响应于所述挂断指示信息,如果所述第四对象是视频接入,则控制显示器显示第四对象的挂断提示信息,销毁所述第四对象的视频窗口;确定更新后的当前通话路数大于预设路数时,根据预设筛选规则从第二区域中选择第六对象,从服务器获取所述第六对象的音视频数据,并根据所述第六对象的音视频数据在第一区域关联生成新视频窗口,同时销毁第二区域中第六对象的语音窗口;根据预设的窗口排序规则,对当前的第一区域内的各个视频窗口进行排序显示,以及对当前的第二区域内的各个语音窗口进行排序显示。
如果更新后的当前通话路数大于预设路数,说明第四对象未挂断时通话路数为预设路数+N,其中N≥2,即第一区域预设路数个视频窗口(包括第四对象)+第二区域内N个语音窗口。由于第四对象已挂断,而第二区域中具有多个语音窗口,那么就涉及从第二区域选择其中一个对象(本实施例中命名为第六对象)切换到视频接入模式,可以根据预设筛选规则,从第二区域中选择第六对象,预设筛选规则比如是按照第二区域中窗口的排序,优先将排序第二区域首位的语音窗口对应的通话成员切换到第一区域中,或者,如果本端用户(自己)是语音接入,则可以将本端用户自动切换为视频接入,预设筛选规则可以根据实际应用进行设置,本实施例不作限定。
当选择第六对象后,启动拉取第六对象的的视频流,加之第六对象的音频流一直处于拉流状态,即可获取到第六对象的音视频数据,根据第六对象的音视频数据在第一区域中关联生成新视频窗口,同时销毁第二区域中第六对象的语音窗口,这样用户即可在新视频窗口看到第六对象的视频画面,以及听见第六对象的语音消息。这时当前的视频通话界面呈现为:当前的第一区域显示无第四对象但包括第六对象的预设路数个视频窗口,当前的第二区域显示N-1个语音窗口,当前通话路数为预设路数+ N-1,N≥2。
上面提供的是第四对象挂断后,销毁第四对象的视频窗口,为原来语音接入的第六对象创建新视频窗口去播放音视频数据,在一些实施例中,由于第四对象挂断后本端设备无法拉取第四对象的音视频流,因此可以不销毁第四对象的视频窗口,而是将从服务器接收的第六对象的音视频数据关联到第四对象的视频窗口去播放,这样就无需为第六对象创建新的视频窗口,即由第六对象替换第四对象。
由于第四对象未挂断时,第一区域内视频窗口的数量就是预设路数个,而第四对象挂断后,更新后的当前通话路数仍大于预设路数,因此视频通话界面采用的界面布局模板无需变化,都是预设路数对应的界面布局模板,只需根据预设的窗口排序规则,对当前的视频通话界面的各视频窗口进行排序显示,比如窗口排序规则是按照接入虚拟房间的时间先后顺序,将之前排序在第四对象之后的视频窗口依次上调1个序位,之前排序在第四对象之前的视频窗口的序位保持不变,将第六对象的视频窗口排在模板的末位,排序结束后,即完成了第一区域的更新。
由于第二区域销毁了第六对象的语音窗口,即第二区域内语音窗口的数量减少了,因此也需要对第二区域内的各语音窗口重新排序显示,参照图7,比如预设筛选规则是将第二区域排序在首位的用户4切换为视频接入,即用户4为第六对象,则销毁用户4的语音窗口之后,将用户5和自己的语音窗口依次上调1个序位,即将用户5的语音窗口排在首位,自己的语音窗口排在第2位,相当于将第六对象之后的语音窗口依次向前移动1个序位。又比如,预设筛选规则是将本端用户切换为视频接入,即自己为第六对象,则排序在第六对象之前的用户4和用户5的序位不变,如果自己之后无语音窗口,则销毁自己的语音窗口即可,如果自己之后还有其他的语音窗口,则将自己之后的语音窗口依次上调1个序位。
在一些实施例中,参照图15,对于情形(D),控制器还用于执行:接收服务器发送的挂断指示信息,所述挂断指示信息是服务器在虚拟房间中的第四对象点击挂断控件时,将虚拟房间记录的当前通话路数减1之后发送的;响应于所述挂断指示信息,如果所述第四对象是语音接入,在确定更新后的当前通话路数等于预设路数时,则控制显示器显示第四对象的挂断提示信息,取消第二区域的显示,维持第一区域的当前显示状态不变。
第四对象是语音接入模式下挂断,说明第四对象未挂断时的通话路数是大于预设路数的,设M=第四对象未挂断时的通话路数-预设路数,则M≥1,即第四对象未挂断时第二区域至少包括1个语音窗口,即第四对象未挂断时的通话路数=预设路数+M,更新后的当前通话路数等于预设路数,说明M=1。
当M=1时请参见图6c,用户4作为第四对象挂断通话时,可以显示第四对象的挂断提示信息,并销毁第四对象的语音窗口,这时第二区域中无展示语音窗口,则取消第二区域的显示,第一区域内无人挂断,所以第一区域保持当前显示状态不变,即界面布局模板、第一区域内各通话成员(用户1、用户2和自己)的音视频播放以及窗口排序等状态都保持不变,则视频通话界面更新完成。
在一些实施例中,参照图15,对于情形(E),控制器还用于执行:接收服务器发送的挂断指示信息,所述挂断指示信息是服务器在虚拟房间中的第四对象点击挂断控件时,将虚拟房间记录的当前通话路数减1之后发送的;响应于所述挂断指示信息,如果所述第四对象是语音接入,在确定更新后的当前通话路数大于预设路数时,则控制显示器显示第四对象的挂断提示信息,并销毁第四对象的语音窗口;按照预设的窗口排序规则,对更新后的第二区域内的各个语音窗口进行排序显示,维持第一区域的当前显示状态不变。
对于情形(E),更新后的当前通话路数大于预设路数,说明M大于1,当M大于1时可参见图7,用户5挂断通话时,即用户5为第四对象,可以提示本端用户“用户5已挂断通话”,同时销毁第四对象的语音窗口,由于M大于1,所以第四对象的语音窗口销毁后,第二区域仍具有至少1个语音窗口,图7示例中销毁用户5的语音窗口之后,还具有用户4和自己共2个语音窗口,那么就需要按照窗口排序规则进行重新排序,如果用户5未挂断时用户4、用户5和自己是按照接入虚拟房间的时间先后顺序排序的,那么用户5的语音窗口销毁后,排序在用户5之前的用户4的语音窗口序位不变,将排序在用户5之后的自己的语音窗口上调1个序位,即前移至第2位进行展示,从而完成第二区域的更新。同前述情形(D),第二区域内第四对象在语音接入模式下挂断,对第一区域内的显示状态无影响。
需要说明的是,如果第四对象是在语音接入模式下挂断通话,更新后的当前通话路数是大于或等于预设路数的,不存在更新后的当前通话路数小于预设路数的情况。
在一些实施例中,视频通话启动后,视频通话的界面布局模板、以及第一区域/第二区域内窗口显示可根据当前接入虚拟房间的人数适应性变化和调整,比如用户1的(作为发起方、本端用户)设备的预设路数为3,用户1发起5人的视频通话后,当前界面最开始先显示发起方的视频窗口,然后用户2接入后,按照用户1、用户2的排列顺序以及1行2列的界面布局模板显示视频通话界面;用户3在用户2之后接入,则按照用户1、用户2和用户3的排列顺序,将视频通话界面调整为预设路数对应的1行3列的界面布局模板;用户4在用户3之后接入,则第一区域保持用户3接入时的显示状态不变,在第二区域中显示用户4的语音窗口;用户5在用户4之后接入,则第一区域的显示状态保持不变,在用户4的语音窗口的后一序位显示用户5的语音窗口,则5人全部接入完成,视频通话界面根据每个人接入进行了对应的调整。
在一些实施例中,发起方发起了目标路数的视频通话,服务器会建立一个支持目标路数的虚拟房间,然后在服务器向其他成员发送通话请求时,使通话请求中携带有目标路数,这样每个通话成员的显示设备在启动视频通话时,可以直接建立起目标路数对应的视频通话界面的窗口布局:如果目标路数小于预设路数,则调用目标路数对应的界面布局模板,显示目标路数个视频窗口;如果目标路数等于预设路数,则调用预设路数对应的界面布局模板,显示预设路数个视频窗口;如果目标路数大于预设路数,则调用预设路数对应的界面布局模板,在第一区域中显示预设路数个视频窗口,并在第二区域生成并显示目标路数与预设路数差值数量的语音窗口。
在一些实施例中,发起方的初始视频通话界面上可以在首位看到本端用户自身的视频画面,其他通话对象的视频窗口显示为灰屏并且窗口上显示如“等待接入”的提示信息, 之后按照各通话对象接入虚拟房间的时间先后顺序,依次拉取通话对象的音视频数据,并关联至对应的视频窗口播放,和/或拉取超过预设路数之后的通话对象的音频数据,并关联至对应的语音窗口播放,直至初始视频通话界面上的所有窗口都完成数据加载。比如,用户1发起4人的视频通话,用户1的显示设备的预设路数为3,则用户1发起视频通话时,建立起的初始视频通话界面呈现为第一区域1*3布局的视频窗口+第二区域1个语音窗口,第1位的视频窗口显示用户1的视频画面;之后用户2接入,则从服务器获取用户2的音视频数据,并将用户2的音视频数据关联至第2个视频窗口播放;用户3在用户2之后接入,则拉取用户3的音视频数据,并将用户3的音视频数据关联至第3个视频窗口播放;用户4在用户3之后接入,这时自动将用户4切换为语音接入,拉取用户4的音频数据,并将用户4的音频数据关联到第二区域的第1个语音窗口播放,则目标路数的视频通话全部接入。
在一些实施例中,比如用户1发起5人的视频通话,同时邀请了用户2、用户3、用户4和用户5进行视频通话。用户3的显示设备的预设路数为4,用户3接入视频通话时,构建的初始视频通话界面呈现为第一区域2*2布局的视频窗口+第二区域的1个语音窗口,在用户3之前,用户1发起通话,用户4最先接入,然后是用户2接入,之后才轮到用户3接入,则用户3可以从服务器中接收到用户1、用户4和用户2的音视频数据,则第1位的视频窗口播放用户1的音视频数据,第2位的视频窗口播放用户4的音视频数据,第3位的视频窗口播放用户2的音视频数据,第4位的视频窗口播放用户3本端采集的视频画面,第二区域的语音窗口显示灰屏并显示如“等待接入”的提示信息。用户5在用户3之后接入,则接收用户5的音频数据,使第1个语音窗口播放用户5的音频数据,则目标路数的视频通话全部接入。
需要说明的是,关于目标路数的视频通话接入过程中,具体的UI呈现形式和处理逻辑等内容,不限于本申请实施例所述。
在一些实施例中,本申请提供了一种显示设备,包括:显示器;声音播放器,用于输出视频通话中的对端发送的音频数据;通信器,用于使显示设备与服务器通信连接;用户接口,用于接收输入的操作;分别与显示器、声音播放器、通信器和用户接口连接的控制器,用于执行:
根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
接收输入的切换操作,并接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
在一些实施例中,所述控制器:响应与接受到的所述切换操作,使焦点位于所述第一区域,在焦点位于所述第一视频窗口时,接收输入的确定操作,确定所述第一视频窗口被选择;响应与所述第一视频窗口被选择,使焦点位于所述第二区域;在焦点位于所述第一语音窗口时,接收输入的确定操作,确定所述第一语音窗口被选择。
在一些实施例中,所述控制器:响应与接受到的所述切换操作,使焦点位于所述第二区域,在焦点位于所述第一语音窗口时,接收输入的确定操作,确定所述第一语音窗口被选择;响应与所述第一语音窗口被选择,使焦点位于所述第一区域;在焦点位于所述第一视频窗口时,接收输入的确定操作,确定所述第一视频窗口被选择。
在一些实施例中,所述控制器:根据所述第一视频窗口和所述第一端的音视频流的映射,停止对所述第一端的音视频流中的视频数据的解析;根据所述第一语音窗口对应的所述第二端,建立所述第一视频窗口和所述第二端的音视频流的映射;根据所述第一视频窗口和所述第二端的音视频流的映射,解析所述第二端的音视频流中的视频数据,并在所述第一视频窗口中显示解析出的所述第二端的音视频流中的视频数据。
在一些实施例中,所述控制器:解除所述第一语音窗口和所述第二端的音视频流的映射;建立所述第一语音窗口和所述第一端的音视频流的映射。
在一些实施例中,所述控制器:在更新后的所述第一视频窗口上的用户标识控件中加载所述第二端的用户标识;在更新后的所述第一语音窗口上的用户标识控件中加载所述第一端的用户标识。
在一些实施例中,所述控制器:接收输入的将所述第一语音窗口和所述第一视频窗口切换的语音指令。
在一些实施例中,所述控制器:接收输入的预设遥控器键值;响应与所述预设遥控器键值,在通话界面的浮层上显示控件列表,其中所述控件列表中至少包括挂断控件、切换音视频窗口控件;在焦点位于所述切换音视频窗口控件时,接收输入的确定操作;触发切换指令,所述切换指令用于使焦点位于所述第一区域或所述第二区域。
在一些实施例中,控制器还用于执行:响应于对挂断控件的点击操作,控制显示器销毁当前的视频通话界面。本端用户点击挂断操作时,即本端用户主动挂断了视频通话,退出虚拟房间,这时本端设备不会再采集和上传本端用户的音视频数据,也不会从服务器接收其他通话对象的音视频数据,视频通话界面被销毁,视频通话终止。
在一些实施例中,控制器还用于执行:响应于接收到服务器发送的通话对象挂断信息,控制显示器销毁当前的视频通话界面。本端用户没有主动挂断通话,但是与本端用户通话的通话对象全部都已挂断,即虚拟房间中只有本端用户1人,则视频通话不必继续维持,相当于本端用户被动挂断了视频通话。当服务器接收到虚拟房间内除本端用户之外的其他全部通话对象的挂断消息,则向本端用户的显示设备发送通话对象挂断信息,本端设备的控制器接收并响应通话对象挂断信息,即可启动挂断逻辑,销毁通话界面。
控制器内可以预置有视频通话应用(APP),在该APP里可以实现视频通话的发起、接听、邀请、对端挂断、本端挂断的UI界面的创建和变换,支持用户对UI界面的操作以及控制每路通话的拉流状态等处理逻辑,视频通话的其他功能也可通过APP实现,这里不再赘述。需要说明的是,多路视频通话的界面布局模板和相关处理逻辑的UI显示不限于附图所示,用户基于UI和相关控件进行操作时的处理逻辑可以适应性变化。
如图16所述,本申请一些实施例还提供了一种多路视频通话处理方法包括:
S1601根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
S1602接收输入的切换操作,并接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
S1603更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
在一些实施例中,本申请还提供多路视频通话处理方法,所述方法包括上述显示设备各实施例中控制器被配置执行的程序步骤,这里不再赘述。本说明书中各个实施例之间相同相似的部分互相参照即可。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,当计算机存储介质位于显示设备中时,该程序执行时可包括控制器250被配置执行的多路视频通话处理方法包括的程序步骤。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,并不构成对本发明保护范围的限定。本发明的真正范围和精神由所附的权利要求指出。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器;
声音播放器,用于输出视频通话中的对端发送的音频数据;
通信器,用于使显示设备与服务器通信连接;
用户接口,用于接收输入的操作;
分别与显示器、声音播放器、通信器和用户接口连接的控制器,用于执行:
根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
接收输入的切换操作,并接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,包括所述控制器:
响应与接受到的所述切换操作,使焦点位于所述第一区域,
在焦点位于所述第一视频窗口时,接收输入的确定操作,确定所述第一视频窗口被选择;
响应与所述第一视频窗口被选择,使焦点位于所述第二区域;
在焦点位于所述第一语音窗口时,接收输入的确定操作,确定所述第一语音窗口被选择。
3.根据权利要求1所述的显示设备,其特征在于,所述控制器接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,包括所述控制器:
响应与接受到的所述切换操作,使焦点位于所述第二区域,
在焦点位于所述第一语音窗口时,接收输入的确定操作,确定所述第一语音窗口被选择;
响应与所述第一语音窗口被选择,使焦点位于所述第一区域;
在焦点位于所述第一视频窗口时,接收输入的确定操作,确定所述第一视频窗口被选择。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器更新所述第一视频窗口,包括所述控制器:
根据所述第一视频窗口和所述第一端的音视频流的映射,停止对所述第一端的音视频流中的视频数据的解析;
根据所述第一语音窗口对应的所述第二端,建立所述第一视频窗口和所述第二端的音视频流的映射;
根据所述第一视频窗口和所述第二端的音视频流的映射,解析所述第二端的音视频流中的视频数据,并在所述第一视频窗口中显示解析出的所述第二端的音视频流中的视频数据。
5.根据权利要求1所述的显示设备,其特征在于,所述控制器更新所述第一语音窗口,包括所述控制器:
解除所述第一语音窗口和所述第二端的音视频流的映射;
建立所述第一语音窗口和所述第一端的音视频流的映射。
6.根据权利要求1所述的显示设备,其特征在于,所述控制器更新所述第一视频窗口和更新第一语音窗口,还包括所述控制器:
在更新后的所述第一视频窗口上的用户标识控件中加载所述第二端的用户标识;
在更新后的所述第一语音窗口上的用户标识控件中加载所述第一端的用户标识。
7.根据权利要求1所述的显示设备,其特征在于,所述控制器接收输入的切换操作,包括所述控制器:
接收输入的将所述第一语音窗口和所述第一视频窗口切换的语音指令。
8.根据权利要求2或3任意一项所述的显示设备,其特征在于,所述控制器接收输入的切换操作,包括所述控制器:
接收输入的预设遥控器键值;
响应与所述预设遥控器键值,在通话界面的浮层上显示控件列表,其中所述控件列表中至少包括挂断控件、切换音视频窗口控件;
在焦点位于所述切换音视频窗口控件时,接收输入的确定操作;
触发切换指令,所述切换指令用于使焦点位于所述第一区域或所述第二区域。
9.一种多路视频通话处理方法,其特征在于,包括:
根据接收到的操作,在视频通话界面显示第一区域和第二区域,其中,所述第一区域至少包括两个视频窗口,所述第二区域至少包括一个语音窗口;
接收输入的切换操作,并接收输入的对第一视频窗口的选择,接收输入的对第一语音窗口的选择,其中,所述第一视频窗口为所述第一区域中的显示第一端的视频数据的视频窗口,所述第一语音窗口时所述第二区域中的表征第二端接入所述视频通话的语音窗口,所述第一端和所述第二端为接入所述视频通话的一端,所述第二端的视频数据不在所述通话界面显示;
更新所述第一视频窗口和所述第一语音窗口,以使的更新后的所述第一视频窗口展示接入所述视频通话的所述第二端的视频数据,更新后的所述语音窗口表征所述第一端接入进所述视频通话,所述,所述第一端的视频数据不在更新后的所述通话界面显示。
10.根据权利要求9所述的处理方法,其特征在于,更新所述第一视频窗口和所述第一语音窗口,包括:
根据所述第一视频窗口和所述第一端的音视频流的映射,停止对所述第一端的音视频流中的视频数据的解析;根据所述第一语音窗口对应的所述第二端,建立所述第一视频窗口和所述第二端的音视频流的映射;根据所述第一视频窗口和所述第二端的音视频流的映射,解析所述第二端的音视频流中的视频数据,并在所述第一视频窗口中显示解析出的所述第二端的音视频流中的视频数据;
解除所述第一语音窗口和所述第二端的音视频流的映射;建立所述第一语音窗口和所述第一端的音视频流的映射。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677179.XA CN113938635A (zh) | 2020-07-14 | 2020-07-14 | 一种多路视频通话处理方法及显示设备 |
CN202180054945.XA CN116114251A (zh) | 2020-07-08 | 2021-06-18 | 视频通话方法及显示设备 |
PCT/CN2021/101051 WO2022007618A1 (zh) | 2020-07-08 | 2021-06-18 | 视频通话方法及显示设备 |
US18/145,596 US20230126656A1 (en) | 2020-07-08 | 2022-12-22 | Video call method and display apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010677179.XA CN113938635A (zh) | 2020-07-14 | 2020-07-14 | 一种多路视频通话处理方法及显示设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113938635A true CN113938635A (zh) | 2022-01-14 |
Family
ID=79273919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010677179.XA Pending CN113938635A (zh) | 2020-07-08 | 2020-07-14 | 一种多路视频通话处理方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113938635A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527811A (zh) * | 2022-01-22 | 2023-08-01 | 华为技术有限公司 | 一种音频通知的显示方法及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070115948A1 (en) * | 2005-10-25 | 2007-05-24 | Ittiam Systems (P) Ltd. | Techinque for providing virtual N-way video conferencing to IP videophones |
CN102572370A (zh) * | 2011-01-04 | 2012-07-11 | 华为终端有限公司 | 视频会议的控制方法和会议终端 |
US20150070582A1 (en) * | 2005-10-31 | 2015-03-12 | Searete Llc | Preservation/Degradation of Video/Audio Aspects of a Data Stream |
KR20160092820A (ko) * | 2015-01-28 | 2016-08-05 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
CN106664389A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于在视频会议中增强用户体验的技术 |
CN107396198A (zh) * | 2017-07-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频通话方法及移动终端 |
CN108632560A (zh) * | 2018-05-14 | 2018-10-09 | 聚好看科技股份有限公司 | 视频通话方法、装置及终端设备 |
-
2020
- 2020-07-14 CN CN202010677179.XA patent/CN113938635A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070115948A1 (en) * | 2005-10-25 | 2007-05-24 | Ittiam Systems (P) Ltd. | Techinque for providing virtual N-way video conferencing to IP videophones |
US20150070582A1 (en) * | 2005-10-31 | 2015-03-12 | Searete Llc | Preservation/Degradation of Video/Audio Aspects of a Data Stream |
CN102572370A (zh) * | 2011-01-04 | 2012-07-11 | 华为终端有限公司 | 视频会议的控制方法和会议终端 |
CN106664389A (zh) * | 2014-09-26 | 2017-05-10 | 英特尔公司 | 用于在视频会议中增强用户体验的技术 |
KR20160092820A (ko) * | 2015-01-28 | 2016-08-05 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
CN107396198A (zh) * | 2017-07-24 | 2017-11-24 | 维沃移动通信有限公司 | 一种视频通话方法及移动终端 |
CN108632560A (zh) * | 2018-05-14 | 2018-10-09 | 聚好看科技股份有限公司 | 视频通话方法、装置及终端设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116527811A (zh) * | 2022-01-22 | 2023-08-01 | 华为技术有限公司 | 一种音频通知的显示方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111741372B (zh) | 一种视频通话的投屏方法、显示设备及终端设备 | |
US12047643B2 (en) | Method for switching video call interface on smart television, and smart television | |
CN111669636B (zh) | 一种音画同步的视频录制方法及显示设备 | |
CN111277884B (zh) | 视频播放方法及设备 | |
CN112333509B (zh) | 一种媒资推荐方法、推荐媒资的播放方法及显示设备 | |
CN112272417B (zh) | 一种双蓝牙音响回连方法及显示设备 | |
CN112492371B (zh) | 一种显示设备 | |
CN113438539A (zh) | 一种数字电视节目录制方法及显示设备 | |
CN112788378B (zh) | 显示设备与内容显示方法 | |
CN112788422A (zh) | 显示设备 | |
CN113938634B (zh) | 一种多路视频通话处理方法及显示设备 | |
CN112203154A (zh) | 一种显示设备 | |
CN111669662A (zh) | 显示设备、视频通话方法及服务器 | |
WO2022078065A1 (zh) | 显示设备资源播放方法及显示设备 | |
CN112351334B (zh) | 一种文件传输进度显示方法及显示设备 | |
CN112040276B (zh) | 一种视频进度同步方法、显示设备及冷藏设备 | |
CN116114251A (zh) | 视频通话方法及显示设备 | |
CN113938633B (zh) | 一种视频通话处理方法及显示设备 | |
CN111954043A (zh) | 一种信息栏显示方法及显示设备 | |
CN111263223A (zh) | 一种媒体音量调节方法及显示设备 | |
CN113938635A (zh) | 一种多路视频通话处理方法及显示设备 | |
CN110602540A (zh) | 显示设备音量控制方法及显示设备 | |
CN112788381B (zh) | 显示设备及显示方法 | |
CN113495654B (zh) | 一种控件展示方法及显示设备 | |
CN114390190A (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 |