界面显示的方法、相关装置、设备以及可读存储介质
本申请要求于2021年04月20日提交中国专利局、申请号为202110427045.7、申请名称为“界面显示的方法、相关装置、设备以及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及界面显示的技术领域,尤其涉及一种界面显示的方法、相关装置、设备以及计算机可读存储介质。
背景技术
当前有很多终端产品或者社交/会议类应用提供多个人共同视频和语音聊天的功能。在一个多人通话中,受限于通话设备的屏幕大小,在设备上通常都会采用动态布局的方式限制一屏中显示的通话成员数量。为了能让用户完整地看到所有的通话成员,需要用户滑动屏幕进行查看,或者设备通过动态刷新的方式把活跃的成员呈现给用户。目前,在视频通话应用中,其界面显示主要有以下几种方式:第一种方式为,通过将成员的画面按照固定的布局平铺在用户的一个界面中,在一屏内显示n名成员,当通话成员数量超过n时,在第一屏的下一屏层级继续显示,直到再显示n名成员,以此类推;第二种方式为提供一种宫格布局+成员列表按钮的方法,用户可以通过展开成员面板查看所有的通话成员;第三种方式为终端设备获取通话中成员说话的音强,将音强最大的成员优先显示在首屏画面或所有成员画面中靠前的位置;第四种方式为,终端设备优先在界面上显示一名成员,其他成员使用缩略图显示,用户通过点击缩略图查看其他成员。
随着视频通话应用的不断发展,如何解决在保证活跃用户的显示窗口在终端设备的界面上显示的同时,又保证了终端设备的界面不会发生巨大的跳变,使得终端设备不会因显示窗口替换数量过多而引起界面不稳定,造成终端设备的传输带宽增加以及云端服务器负载加重的问题,是技术人员日益关注的问题。
发明内容
本申请实施例提供一种界面显示的方法,解决了电子设备因显示窗口替换数量过多而引起界面不稳定,造成电子设备的传输带宽增加以及云端服务器负载加重的问题。
第一方面,本申请实施例提供了一种界面显示的方法,包括:电子设备通过K个显示窗口显示当前视频通话用户中K个用户的视频通话界面;所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换;其中,所述用户排序变化的数量为所述K个视频通话用户的用户排序号与当前活跃度排名前K的视频通话用户进行比较,得到的变化数量;所述L小于所述K;所述M小于或等于所述L;置换的所述第一用户比对应被置换的所述第二用户的当前活跃度排名高。这样,通过设置显示窗口最大替换数量L,控制替换窗口的数量,在尽可能保证当前活跃度排名高的用户与显示窗口匹配的准确性的基础上,避免了电子设备因显示窗口替换数量过多而造成电子设备界面的大幅跳变,从而造成界面显示不稳定,给用户造成视觉上的不适,影响用户的使用体验;在另一方面,由于显示窗口替换数量过多,造成界面发生大幅跳变,会使得视频流在传输过程中的带宽增加并加重云服务器的负载,通过设置显示窗口最大替换数量L可以有效地解决上述问题。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:所述电子设备统计每个视频通话用户在预设时长内目标音强的持续时间和每个视频通话用户在预设时长内音强的平均值;所述目标音强为分贝大于第一阈值的音强;所述电子设备对所述持续时间进行排序以及对所述平均值进行排序,得到排序值Rank1和排序值Rank2;所述电子设备基于所述Rank1、所述Rank2、所述Rank1的权重值以及所述Rank2的权重值计算所述每个视频通话用户在所述预设时长内的第一排序值;所述电子设备基于所述第一排序值、所述预设时长的权重值、所述每个视频通话用户在历史预设时长内的第二排序值、所述历史预设时长的权重值,计算得到所述每个视频通话用户当前的活跃度积分;所述电子设备将所述视频通话用户当前的活跃度积分进行排序,得到所述视频通话用户的当前活跃度排名。这样,相较于传统的将预设时长内目标音强的持续时间作为视频通话用户的当前活跃度排名的参考因素,将用户在预设时长内目标音强的持续时间以及用户在预设时长内音强的平均值以及历史预设时长内用户的第二排序值作为其当前活跃度排名计算的参考因素,电子设备计算出用户的当前活跃度排名更加全面和精准。
在一种可能实现的方式中,所述L的取值为
其中,所述
为
的向上取整数,所述
为
的向下取整数。这样,当电子设备的用户界面中出现小于或等于L的显示窗口发生置换时,用户能适当感受到显示窗口的变化,且不会产生跳变的感官冲击,在保证用户在不明显感知显示窗口变动的同时,尽可能保证当前活跃度排名高的用户与显示窗口匹配的准确性。
在一种可能实现的方式中,所述视频通话用户为满足活跃度排名资格的用户;其中,所述活跃度排名资格包括以下一项或多项内容:仅有视频流的视频通话用户、仅有音频流的视频通话用户、视频流和音频流都有的视频通话用户、视频流和音频流都没有的视频通话用户。这样,电子设备能够筛除出不符合活跃度排名资格的用户,从而减少电子设备计算活跃度排名用户的数量,节约了电子设备的计算资源和存储资源,避免了因计算大量视频通话用户的活跃度排名,占用所述电子设备过多的存储资源,从而影响电子设备的工作性能。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:在所述K个显示窗口的视频通话用户中,在存在N个用户的当前活跃度排名低于K且所述N大于或等于M的情况下,所述电子设备在所述N个用户中,选取当前活跃度排名靠后的后M个用户为第二用户;所述电子设备基于所述第二用户的用户排序号对所述第二用户进行排序,得到所述第二用户的第二排序号;所述电子设备在所述当前活跃度排名在前K之内且非所述K个显示窗口对应的视频通话用户中选取所述当前活跃度排名靠前的前M个用户为第一用户;所述电子设备基于所述第一用户的当前活跃度排名,对所述第一用户进行排序,得到所述第一用户的第一排序号;所述电子设备将第一排序号与第二排序号相同的所述第一用户和所述第二用户进行置换。这样,电子设备将第一排序号与第二排序号相同的第一用户和第二用户进行置换,有利于活跃度排名靠前的视频通话用户(第一排序号靠前的用户)与用户排序号靠前的显示窗口对应的视频通话用户(第二排序号靠前的用 户)进行置换;当显示窗口的尺寸或位置与用户排序号相关时,活跃度排名高的视频通话用户可以匹配尺寸更大或位置更好的显示窗口,从而有利于参加视频通话的用户能够更加容易获取活跃度高的视频通话用户的信息,提高用户体验。
在一种可能实现的方式中,所述M个显示窗口不包括被锁定的显示窗口。这样,电子设备将被锁定的显示窗口的视频通话用户判断为本端用户的关注用户,在所述关注用户的当前活跃度排名低于K的情况下,所述关注用户也不会被置换,使得本端用户能够通过显示窗口获取所述关注用户的信息,提高了用户体验。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:所述电子设备调整第三用户的当前活跃度排名;所述第三用户为在所述K个显示窗口的视频通话用户中,处于第一状态且其当前活跃度排名在前K之外的用户;所述第三用户调整后的活跃度排名在前K。这样,即使第三用户当前的活跃度排名在前K之外,电子设备可以通过调整第三用户的当前活跃度排名,使其在前K之内,可以避免第三用户不会被置换,从而令本端用户可以通过显示窗口获取其关注成员(第三用户)的信息,提高了用户体验。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:所述电子设备调整第四用户的当前活跃度排名;所述第四用户为在当前活跃度排名低于前K的非显示窗口对应的视频通话用户中,处于第二状态且活跃度排名靠前的前S个用户;所述S小于或等于M;所述第四用户调整后的当前活跃度排名在前M。这样,在预设时长内,若存在活跃度高但其当前活跃度排名在前K的之外的视频通话用户(第四用户),电子设备可以基于第四用户在所述预设时长内的活跃度预判其在下一预设时长内为活跃的视频通话用户,通过调整其活跃度排名给予所述第四用户优先置换权,提高了预设时长内活跃用户的参与度。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:若所述K个显示窗口的视频通话用户的当前活跃度排名都在前K之内且用户排序变化的数量达到L,所述电子设备设置序号i=1;所述电子设备分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户;其中,所述第一用户序列包括当前活跃度排名靠前的前L个视频通话用户,所述第二用户序列包括在用户排序序列中,序号靠前的前L个视频通话用户;所述用户排序序列包括带有用户排序号的K个显示窗口的视频通话用户;与原始用户排序序列相比,在所述第一视频通话用户和所述第二视频通话用户的用户排序号并非都发生了变化,且所述第一视频通话用户的当前活跃度排名比所述第二视频通话用户高的情况下,所述电子设备调换所述第一视频通话用户与所述第二视频通话用户在所述用户排序序列中的位置,得到更新后的用户排序序列;若在所述更新后的用户排序序列中,用户排序号变化的用户数量大于或等于L,所述电子设备将所述更新后的用户排序序列中用户排序号变化的M个第一用户与对应的M个显示窗口的第二用户 进行置换;与所述原始用户排序序列相比,若在所述更新后的用户排序序列中,用户排序号变化的用户数量小于L,所述电子设备根据公式i=i+1更新序号i,并执行所述电子设备分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户的步骤。这样,在K个显示窗口的用户排序发生变化且K个显示窗口的第二用户其活跃度排名在前K的情况下,电子设备在用户排序发生变化的视频通话用户中,尽可能将活跃度排名高的第一用户与活跃度排名较低的第二用户进行置换,当显示窗口的尺寸或位置与用户排序号相关时,活跃度排名高的视频通话用户可以匹配尺寸更大或位置更好的显示窗口,从而有利于参加视频通话的用户能够更加容易获取活跃度高的视频通话用户的信息,提高用户体验。
在一种可能实现的方式中,所述电子设备基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:若所述K个显示窗口的视频通话用户的当前活跃度排名都在前K之内且用户排序变化的数量达到L,所述电子设备设置序号i=1;所述电子设备分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户;其中,所述第一用户序列包括当前活跃度排名靠前的前L个视频通话用户,所述用户排序序列包括带有用户排序号的K显示窗口的视频通话用户;若所述第一视频通话用户和所述第三视频通话用户不为相同用户,所述电子设备将所述第一视频通话用户和所述第三视频通话用户在所述用户排序序列中的位置相互调换,得到更新后的用户排序序列;若在所述更新后的用户排序序列中,用户排序号变化的用户数量大于或等于L,所述电子设备将所述更新后的用户排序序列中用户排序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;与原始用户排序序列相比,在所述更新后的用户排序序列中,若用户排序号变化的用户数量小于L且所述序号i小于L,所述电子设备根据公式i=i+1更新序号i,并执行所述电子设备分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户的步骤。这样,在K个显示窗口的用户排序发生变化且K个显示窗口的第二用户其活跃度排名在前K的情况下,电子设备在用户排序发生变化的视频通话用户中,尽可能将活跃度排名高的第一用户与活跃度排名较低的第二用户进行置换,当显示窗口的尺寸或位置与用户排序号相关时,活跃度排名高的视频通话用户可以匹配尺寸更大或位置更好的显示窗口,从而有利于参加视频通话的用户能够更加容易获取活跃度高的视频通话用户的信息,提高用户体验。
在一种可能实现的方式中,所述第一视频通话用户和所述第二视频通话用户不包括处于第三状态的显示窗口的视频通话用户。这样,若处于第三状态的视频通话用户为诸如当前正在投屏的视频通话用户时,所述处于第三状态的视频通话用户不参与置换,保证了所述处于第三状态的视频通话用户的显示界面的稳定性,避免了本端用户在获取处于第三状态的视频通话用户通过其显示窗口展示的信息时,由于所述处于第三状态的视频通话用户的用户排序发生变化而导致显示窗口发生跳变,影响本端用户的用户体验的问题。
在一种可能实现的方式中,所述第一视频通话用户和所述第三视频通话用户不包括处于第三状态的显示窗口的视频通话用户。这样,若处于第三状态的视频通话用户为诸如当前正在投屏的视频通话用户时,所述处于第三状态的视频通话用户不参与置换,保证了所述处于第三状态的视频通话用户的显示界面的稳定性,避免了本端用户在获取处于第三状态的视频通话用户通过其显示窗口展示的信息时,由于所述处于第三状态的视频通话用户的用户排序 发生变化而导致显示窗口发生跳变,影响本端用户的用户体验的问题。
第二方面,本申请实施例提供了一种界面显示的装置,所述界面显示的装置包括:
显示单元,用于通过K个显示窗口显示当前视频通话用户中所述K个用户的视频通话界面;
第一判断单元,用于基于所述视频通话用户的当前活跃度排名,判断用户排序变化的数量达到是否L;
置换单元,用于在所述第一判断单元判断为是的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换。
在一种可能实现的方式中,所述界面显示的装置,还包括:
统计单元,用于统计每个视频通话用户在预设时长内目标音强的持续时间和每个视频通话用户在预设时长内音强的平均值;
排序单元,用于对所述持续时间进行排序以及对所述平均值进行排序,得到排序值Rank1和排序值Rank2;
第一计算单元,用于基于所述第一排序值、所述预设时长的权重值、所述每个视频通话用户在历史预设时长内的第二排序值、所述历史预设时长的权重值,计算得到所述每个视频通话用户当前的活跃度积分;
第二计算单元,用于将所述视频通话用户当前的活跃度积分进行排序,得到所述视频通话用户的当前活跃度排名。
在一种可能实现的方式中,所述置换单元,包括:
第二判断单元,用于判断在所述K个显示窗口的视频通话用户中,是否在存在N个用户的当前活跃度排名低于K;第三判断单元,用于在所述第一判断单元判断为是的情况下,判断所述N是否大于或等于M;
第二用户选择单元,用于在所述第二判断单元判断为是的情况下,在所述N个用户中,选取当前活跃度排名靠后的后M个用户为第二用户;
第二排序号生成单元,用于基于所述第二用户的用户排序号对所述第二用户进行排序,得到所述第二用户的第二排序号;
第一用户选择单元,用于在当前活跃度排名在前K之内且非所述K个显示窗口对应的视频通话用户中选取所述当前活跃度排名靠前的前M个用户为第一用户;
第一排序号生成单元,用于基于所述第一用户的当前活跃度排名,对所述第一用户进行排序,得到所述第一用户的第一排序号;
第一执行单元,用于将第一排序号与第二排序号相同的所述第一用户和所述第二用户进行置换。
在一种可能实现的方式中,所述界面显示的装置,还包括:
第一调整单元,用于所述置换单元将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,调整第三用户的当前活跃度排名。
在一种可能实现的方式中,所述界面显示的装置,还包括:
第二调整单元,用于所述置换单元将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,调整第四用户的当前活跃度排名。
在一种可能实现的方式中,所述置换单元,还包括:
第四判断单元,用于判断所述K个显示窗口的视频通话用户的当前活跃度排名是否都在 前K之内;
第五判断单元,用于在所述第四判断单元判断为是的情况下,判断用户排序变化的数量是否达到L;
序号设置单元,用于在所述第五判断单元判断为是的情况下,设置序号i=1;
第一选择单元,用于在第一用户序列中选取序号为i的第一视频通话用户;
第二选择单元,用于在第二用户序列中选取序号为i的第二视频通话用户;
第六判断单元,用于判断与原始用户排序序列相比,所述第一视频通话用户和所述第二视频通话用户的用户排序号与原始用户排序序列相比是否都发生变化;
第七判断单元,用于在所述第六判断单元判断为否的情况下,判断第一视频通话用户的当前活跃度排名是否比第二视频通话用户高;
第一更新单元,用于在所述第七判断单元判断为是的情况下,调换所述第一视频通话用户与所述第二视频通话用户在所述用户排序序列中的位置,得到更新后的用户排序序列;
第八判断单元,用于判断与所述原始用户排序序列相比,在所述更新后的用户排序序列中,用户排序号变化的用户数量是否大于或等于L;
第二执行单元,用于在所述第八判断单元判断为是的情况下,将所述更新后的用户排序序列中序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;
第一序号更新单元,用于在所述第八判断单元判断为否的情况下,根据公式i=i+1更新序号i。
在一种可能实现的方式中,所述置换单元,还包括:
第三选择单元,用于在用户排序序列中选取序号为i的第二视频通话用户;
第九判断单元,用于判断所述序号都为i的第一视频通话用户和第三视频通话用户是否为相同用户;
第二更新单元,用于在所述第九判断单元判断为否的情况下,将所述第一视频通话用户和所述第三视频通话用户在所述用户排序序列中的位置相互调换,得到更新后的用户排序序列;
第十判断单元,用于判断与所述原始用户排序序列相比,在所述更新后的用户排序序列中,用户排序号变化的用户数量是否大于或等于L;
第三执行单元,用于在所述第十判断单元判断为是的情况下,将所述更新后的用户排序序列中序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;
第二序号更新单元,用于在所述第十判断单元判断为是,且所述序号i小于L的情况下,根据公式i=i+1更新序号i。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器和触控屏;其中:
所述触控屏用于显示内容;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器用于调用存储器存储的程序代码执行如下步骤:
指示触控屏通过K个显示窗口显示当前视频通话用户中K个用户的视频通话界面;
基于所述视频通话用户的当前活跃度排名,判断用户排序变化的数量是否达到L;
若判断为是,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:
统计每个视频通话用户在预设时长内目标音强的持续时间和每个视频通话用户在预设时长内音强的平均值;
对所述持续时间进行排序以及对所述平均值进行排序,得到排序值Rank1和排序值Rank2;
基于所述Rank1、所述Rank2、所述Rank1的权重值以及所述Rank2的权重值计算所述每个视频通话用户在所述预设时长内的第一排序值;
基于所述第一排序值、所述预设时长的权重值、所述每个视频通话用户在历史预设时长内的第二排序值、所述历史预设时长的权重值,计算得到所述每个视频通话用户当前的活跃度积分;
将所述视频通话用户当前的活跃度积分进行排序,得到所述视频通话用户的当前活跃度排名。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:
判断在所述K个显示窗口的视频通话用户中,是否存在大于0的N个用户的当前活跃度排名低于K;
若判断为是,判断所述N是否大于或等于M;
若判断为是,选取当前活跃度排名靠后的后M个用户为第二用户;
基于所述第二用户的用户排序号对所述第二用户进行排序,得到所述第二用户的第二排序号;
在所述当前活跃度排名在前K之内且非所述K个显示窗口对应的视频通话用户中选取所述当前活跃度排名靠前的前M个用户为第一用户;
基于所述第一用户的当前活跃度排名,对所述第一用户进行排序,得到所述第一用户的第一排序号;
将第一排序号与第二排序号相同的所述第一用户和所述第二用户进行置换。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:
调整第三用户的当前活跃度排名。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换之前,包括:
调整第四用户的当前活跃度排名。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:
判断所述K个显示窗口的视频通话用户的当前活跃度排名是否都在前K之内;
若判断为是,判断在所述K个显示窗口的视频通话用户中,用户排序变化的数量是否达到L;
若判断为是,设置序号i=1;
分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户;
判断与原始用户排序序列相比,所述第一视频通话用户和所述第二视频通话用户的用户排序号是否都发生变化;
若判断为否,判断所述第一视频通话用户的当前活跃度排名是否比所述第二视频通话用户高;
若判断为是,调换所述第一视频通话用户与所述第二视频通话用户在所述用户排序序列中的位置,得到更新后的用户排序序列;
判断与原始用户排序序列相比,在所述更新后的用户排序序列中,用户排序号变化的用户数量是否大于或等于L;
若判断为是,将所述更新后的用户排序序列中序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;
若判断为否,根据公式i=i+1更新序号i,并执行所述处理器分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户的步骤。
在一种可能实现的方式中,所述处理器将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换,包括:
判断所述K个显示窗口的视频通话用户的当前活跃度排名是否都在前K之内;
若判断为是,判断在所述K个显示窗口的视频通话用户中,用户排序变化的数量是否达到L;
若判断为是,设置序号i=1;
分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第二视频通话用户;
判断所述第一视频通话用户和所述第三视频通话用户是否为相同用户;
若判断为否,将所述第一视频通话用户和所述第三视频通话用户在所述用户排序序列中的位置相互调换,得到更新后的用户排序序列;
判断与原始用户排序序列相比,在所述更新后的用户排序序列中,用户排序号变化的用户数量是否大于或等于L;
若判断为是,将所述更新后的用户排序序列中序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;
若判断为否,判断所述序号i是否小于L;
若判断为是,根据公式i=i+1更新序号i,并执行所述电子设备分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户的步骤;
若判断为否,将所述更新后的用户排序序列中序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时,实现上述第一方面及其各种可能实现的方式中界面显示的方法。
第五方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当所述计算机程序被计算机执行时,使得电子设备可以执行上述第一方面及其各种可能实现的方式中电子设备所执行的流程。
第六方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述第一方面及其各种可能方式中的方法所涉及的功能。
在一种可能的设计中,所述芯片系统还包括存储器,所述存储器用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其它分立器件。
附图说明
下面对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的一种界面显示的场景示意图;
图2是本申请实施例提供的一种界面用户置换的流程图;
图3是本申请实施例提供的一种用户显示窗口置换界面图;
图4是本申请实施例提供的另一种用户显示窗口置换界面图;
图5是本申请实施例提供的另一种用户显示窗口置换界面图;
图6是本申请实施例提供的另一种用户显示窗口置换界面图;
图7是本申请实施例提供的另一种用户显示窗口置换界面图;
图8是本申请实施例提供的另一种用户显示窗口置换界面图;
图9是本申请实施例提供的另一种用户显示窗口置换界面图;
图10是本申请实施例提供的一种电子设备的硬件结构图;
图11是本申请实施例提供的一种电子设备的软件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或者特性可以包含在本实施例申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是相同的实施例,也不是与其它实施例互斥的独立的或是备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中术语“第一”、“第二”、“第三”等是区别于不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元,或者可选地,还包括没有列出的步骤或单元,或者可选地还包括这些过程、方法、产品或设备固有的其它步骤或单元。
附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前,应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在本说明书中使用的术语“部件”、“模块”、“系统”、“单元”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件或执行中的软件。例如,单元可以是但不限于在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或分布在两个或多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的第二单元数据。例如,通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
请参见图1,图1是本申请实施例提供的一种界面显示的场景示意图。如图1所示,终 端设备100的显示界面为一个多人视频会话界面,在显示界面110中分为了非稳定区域111和稳定区域112。在非稳定区域111中存在多个显示窗口(图1中只列举了4个),所述显示窗口对应的视频通话用户分别为A、B、C、D;在稳定区域112中存在多个用户的缩略图(图1只列举了7个),所述缩略图对应的用户分别为E、Q、G、H、I、J、O。当终端设备100检测到针对稳定区域112的输入操作(例如向左滑或向右滑)后,终端设备100响应该操作,所述稳定区域112显示下一界面,所述下一界面显示其他视频通话用户的缩略图,且所述非稳定区域111保持不变。
在T1时刻,非稳定区域中的显示窗口的视频通话用户分别为A、B、C、D,在预设时长后,终端设备100会计算每个视频通话用户在所述预设时长的活跃度排名,并根据用户的活跃度排名来替换非稳定区域111中对应的显示窗口的视频通话用户。在T2时刻,参与视频通话用户的活跃度排名为G、A、E、O、Q、B、D、C、H、I、J…,存在非稳定区域111中部分显示窗口的视频通话用户其当前活跃度排名在前4之外的情况;因此,在非稳定区域111中,有部分显示窗口的视频通话用户被稳定区域中的部分视频通话用户置换,即:用户C被用户G置换,显示窗口1113的用户变成了用户G;用户D被用户E置换,显示窗口1114的用户变成了用户E;缩略图1121对应的用户变成了用户D,缩略图1122对应的用户变成了用户C。
在上述图1的实施例中,稳定区域中的用户与非稳定用户的置换过程,本申请实施例结合附图进行展开说明。请参见图2,图2是本申请实施例提供的一种界面用户置换的流程图;在图2中,显示窗口对应的视频通话用户可以为上述图1实施例中非稳定区域的显示窗口对应的视频通话用户,非显示窗口对应的视频通话用户可以为上述图1实施例中稳定区域缩略图对应的视频通话用户;本申请实施例以终端设备为电子设备为例进行举例说明。下面,结合图2对界面视频通话用户置换的流程进行展开说明:
步骤S201:电子设备计算视频通话用户当前的活跃度排名。
具体地,活跃度排名的具体计算方式为:电子设备统计每个视频通话用户的在其当前的预设时长内目标音强的持续时间以及音强的平均值;其中,所述目标音强为分贝大于第一阈值的平均值,第一阈值的设定可以根据经验值来设定,本申请实施例仅作举例说明,不做限制。然后,电子设备在视频通话成员中,基于在预设时长内的目标音强的持续时间进行排序,得到每个视频通话成员的排序值Rank1;基于在预设时长内音强的平均值进行排序,得到每个视频通话成员的排序值Rank2;电子设备可以根据公式P1=Rank1*W
r1+Rank2*W
r2得到每个视频通话成员在预设时长内的第一排序值;其中,P1为所述第一排序值,W
r1为所述Rank1的权重值,W
r2为所述Rank2的权重值;W
r1+W
r2=1。然后,电子设备可以根据公式F=P1*W
t1+P2*W
t2+…+Pi*W
ti获取每个视频通话成员在所述预设时长内的活跃度积分;所述F为所述视频通话成员的活跃度积分,W
ti为历史预设时长的权重值,Pi为所述视频通话成员在历史预设时长内的第二排序值且W
t1+W
t2+…+W
ti=1;所述第二排序值的计算公式可以参考所述第一排序值的计算公式,本申请实施例不做限制。所述电子设备对每个视频通话成员的F进行排序,得到每个视频通话成员的当前活跃度排名R。
需要说明的是,电子设备除了可以统计每个视频通话用户在预设时长内目标音强的持续时间以及音强的平均值以外,电子设备还可以拾取统计影响用户在视频通话中活跃度排名的因素,例如在预设时长内每个视频通话用户视频流的持续时间、每个视频通话成员视频流的质量和稳定度等因素;并对这些因素进行排序,得到相应的排序值Rank_n;再根据公式 P1=Rank1*W
r1+Rank2*W
r2+…+Rank_n*W
rn,得到每个视频通话成员在预设时长内的第一排序值;其中,所述W
rn为Rank_n对应的权重值,W
r1+W
r2+…+W
rn=1。电子设备拾取统计影响用户在视频通话中活跃度排名的因素越多,电子设备获取视频用户当前的活跃度排名就越全面和越准确。
在一种可能实现的方式中,电子设备在计算视频通话用户当前的活跃度排名之前,对视频通话用户的排序资格进行审核,只有满足活跃度排名资格的视频通话用户,所述电子设备才会计算其活跃度排名;其中,活跃度排名资格包括以下一项或多项内容:仅有视频流的视频通话用户、仅有音频流的视频通话用户、视频流和音频流都有的视频通话用户、视频流和音频流都没有的视频通话用户;其中,音频流包括但不限于电子设备拾取的麦克风音频和媒体音频,视频流包括但不限于拾取摄像头画面、媒体画面、用户屏幕等画面。电子设备通过对视频通话用户的排序资格进行审核,可以筛除部分不符合活跃度排名资格的视频通话用户,从而避免电子设备因计算视频通话成员的活跃度排名而占用其过多的计算资源,进而影响所述电子设备的工作性能。示例性的,若电子设备更侧重于基于视频通话成员的视频流和音频流来判断其是否活跃时,只有同时拥有视频流和音频流的视频通话用户会被电子设备计算其活跃度排名,在一定程度上节约了电子设备的计算资源。
步骤S202:电子设备基于所述视频通话用户的当前活跃度排名,判断用户排序变化的数量是否达到L。
具体地,在电子设备的显示区域中有K个显示窗口,所述显示窗口用于显示视频通话用户中当前活跃度较大的用户(活跃用户);示例性的,所述显示窗口可以为上述图1实施例中的非稳定区域111的显示窗口,每个显示窗口的形状和大小可以相同,也可以不同,本申请实施例仅作举例说明,不做限制。所述用户排序变化的数量为所述K个视频通话用户的用户排序号与当前活跃度排名前K的视频通话用户进行比较,得到的变化数量;所述用户排序号可以为显示窗口的标识信息(例如显示窗口的标号);示例性的,在上述图1实施例中T1时刻电子设备100基于显示窗口的标号可以得到用户A、B、C、D的用户排序号,即:1-用户A、2-用户B、3-用户C、4-用户D,本申请实施例仅作举例说明,不做限制。电子设备比较显示窗口的K个视频通话用户的用户排序号是否与其当前活跃度排名一致;若一致,电子设备不做任何操作;若不一致,电子设备判断视频通话用户的用户排序变化的数量是否达到L,L为可替换显示窗口的最大数量;其中,所述用户排序变化的数量为所述K个视频通话用户的用户排序号与当前活跃度排名前K的视频通话用户进行比较,得到的变化数量;所述L的取值范围可以为
所述
为
的向上取整数,所述
为
的向下取整数。在实际体验中,当用户界面中出现了一半以上的显示窗口发生置换时,用户会明显感知到界面的不稳定和跳变。当用户界面中出现约三分之一的显示窗口发生置换时,用户能适当感受到显示窗口的变化,且不会产生跳变的感官冲击。因此为了用户在不明显感知显示窗口变动的同时,保证尽可能多的活跃成员的准确性;因此,设定L的取值范围为
(L为整数)。若用户排序变化的数量N小于L,电子设备将排序变化的N个第一用户与对应的N个显示窗口的第二用户进行置换。
示例性的,N个第一用户与对应的N个显示窗口的第二用户进行置换可以如图3所示,图3中存在6个显示窗口,其对应的视频通话用户分别为A、B、C、D、E、G,基于显示窗口的标识信息(图3中为显示窗口的标号),可以得到显示窗口用户对应的用户排序号(1-A、2-B、3-C、4-D、5-E、6-G),若视频通话用户当前的活跃度排名为1-H、2-B、3-I、4-D、5-E、6-G、7-A、8-C、9-J……,基于上述L的设定规则,可以令L=3;将视频通话用户的用户排序号与其当前活跃度排名进行对比,可知用户排序变化的数量为2(N<L,用户A、C的当前活跃度排名在前六之外),电子设备100在T2时刻,可以直接将用户H置换用户A,将用户 I置换用户C。
步骤S203:在用户排序变化的数量达到L的情况下,电子设备将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换。
具体地,所述第二用户为被置换的显示窗口对应的视频通话用户,用户排序变化的数量可以理解为在K个显示窗口的视频通话用户中,当前活跃度排名在前K之外的用户数量N;若所述用户数量N大于或等于L时,便对当前活跃度排名在前K之外M个第二用户进行置换,尽可能地令活跃度排名靠前的视频通话用户占据显示窗口,使得视频通话用户能够更加容易获取活跃的视频通话成员展示的信息,从而提高视频通话用户的交流效率;在另一方面,通过设置显示窗口的最大替换数量L有利于防止因用户排序变化的数量过多而造成显示窗口的替换数量过多,造成电子设备显示界面的不稳定,给用户造成不适的视觉观感且显示窗口的替换数量过多使得电子设备在传输显示窗口的视频流等数据时,需要占据较大的带宽,在一定程度上会浪费带宽资源并给云端的服务器带来额外的负载;第二用户被置换的具体过程可以分成以下五种情况:
第一种情况:电子设备在K个显示窗口的视频通话用户中,将当前活跃度排名在前K以外的用户基于其当前活跃度进行排名,选取当前活跃度排名靠后的后M(M大于或等于L,本申请实施例以M=L为例进行举例说明)个用户为被替换的视频通话用户(第二用户);并在这M个第二用户中,基于其用户排序号(第二用户对应的显示窗口的标识,例如显示窗口的标号)进行排序,得到每个第二用户的第二排序号;然后,电子设备在当前活跃度排名在前K内且未对应显示窗口的视频通话用户中,基于其当前活跃度排名进行排序,得到当前活跃度排名靠前的前M个用户(第一用户);电子设备基于第一用户的当前活跃度排名,得到每个第一用户的第一排序号;然后,电子设备将第一排序号和第二排序号相同的第一用户和第二用户进行置换;其中,当所述用户数量N大于或等于L时,M的取值可以为L;当用户数量N小于L时,M的取值可以为N。
示例性的,如图4所示,电子设备100有6个显示窗口,基于上述L的取值规则,可以令L为3,电子设备100在T1时刻的显示窗口的用户为C、B、D、A、G、E,基于显示窗口的标号,将其用户进行对应,可以得到C、B、D、A、G、E的用户排序号分别为:1-C、2-B、3-D、4-A、5-G、6-E;电子设备100获取当前时刻(T2时刻)参与视频通话的用户的活跃度排名1-C、2-E、3-W、4-H、5-I、6-O、7-A、8-D、9-G、10-B、11-J、12-P、13-Q……,电子设备100将用户排序号与用户的当前活跃度排名进行比对,用户A、D、G、B的活跃度排名在前6之外且L=3;因此,在A、D、G、B中选取三个用户作为被替换用户(第二用户);电子设备100基于当前活跃度排名对用户A、D、G、B进行排序,由于用户D、G、B的当前活跃度排名靠后;因此,电子设备100确定用户D、G、B为被置换的第二用户,并根据这三个第二用户的用户排序号进行排序,得到用户D、G、B的第二排序号:1-B、2-D、3-G(本申请实施例第二排序号的设置规则为:用户排序号靠前的,第二排序号靠前;对于第二排序号的设置规则,本申请实施例仅做举例说明,不做限制);电子设备100在当前活跃度排名在前6且未对应显示窗口的视频通话用户(用户W、H、I、O)中选取当前活跃度排名靠前的前3个用户作为置换第二用户的第一用户(用户W、H、I),并根据其当前活跃度排名进行排序,得到第一用户的第一排序号1-W、2-H、3-I(本申请实施例第一排序号的设置规则为:用户排序号靠前的,第一排序号靠前;对于第一排序号的设置规则,本申请实施例仅做举例说明,不做限制);然后,电子设备100将第一排序号和第二排序号相同的第一用户与第二用户进行置换,即:电子设备100将用户B和W置换、H和D置换、G和I置换,得到T2时 刻显示窗口对应的视频通话用户;其中,当在K个显示窗口的视频通话用户中,当前活跃度排名在前K之外的用户数量大于L时,M的取值可以为L;对于上述图4实施例中,第一用户置换第二用户的过程,本申请实施例仅作举例说明,不做限制。电子设备通过将第一排序号和第二排序号相同的第一用户与第二用户进行置换,有利于当前活跃度排名高的第一用户能够匹配到更有利的显示窗口。
例如,在上述图4的实施例中,显示窗口的尺寸的大小与显示窗口的标号有关(显示窗口的标号越小,显示窗口的尺寸越大);因此,电子设备基于第二用户的用户排序号进行排序,得到第二排序号,将第一排序号的第二排序号相同的第一用户和第二用户进行置换,可以确保当前活跃度排名高的第一用户可以占据尺寸更大显示窗口,使得其要展示的信息(例如第一用户想通过共享屏幕做工作报告)能够更加醒目地展示在参与视频通话的用户面前,提高视频通话的效率。
第二种情况:电子设备在将第一用户和第二用户进行置换之前,若检测到针对显示窗口的诸如锁定的输入操作后,将所述显示窗口进行锁定,锁定后的显示窗口不被置换。示例性的,被锁定的显示窗口可以为电子设备的本端窗口,本申请实施例仅作举例说明,不做限制。示例性的,在上述图4的实施例中,在T1时刻~T2时刻的时间段内,若电子设备100检测到针对标号为4的显示窗口的锁定操作后,电子设备100将所述显示窗口进行锁定,锁定后的窗口如图5所示;由于用户B的当前活跃度排名在前6之外,第一用户置换第二用户的方式有两种:
方式a,令L=M,则电子设备100将用户A、D、G确定为被置换的第二用户,根据A、D、G的用户排序号对用户A、D、G进行排序,得到第二排序号:1-D、2-A、3-G(本申请实施例第二排序号的设置规则为:用户排序号靠前的,第二排序号靠前;对于第二排序号的设置规则,本申请实施例仅做举例说明,不做限制);电子设备100在用户W、H、I、K中选择当前活跃度最高的用户W、H、I为第一用户,并基于其当前活跃度排名进行排序,得到第一排序号:1-W、2-H、3-I;电子设备100将第一排序号和第二排序号相同的第一用户和第二用户进行置换(将用户W和D置换、用户A和H置换、用户G和I置换)。
方式b,令M<L,当用户B对应的显示窗口被锁定时,确定用户D、G、B中的用户D和用户G为第二用户,并基于其用户排序号进行排序,得到用户D和用户G的第二排序号1-D、2-G;基于当前活跃度排名可得到第一用户的第一排序号1-W、2-H,电子设备100将第一排序号和第二排序号相同的第一用户和第二用户进行置换(将用户D和用户W置换,将用户G和用户H进行置换),得到T2时刻显示窗口对应的视频通话用户。
第三种情况:在M个第一用户置换M个对应的第二显示窗口的第二用户之前,若电子设备检测到针对锁定的显示窗口的锁定操作解除,电子设备在第一用户置换第二用户时,具体过程参考上述图3实施例,在此不再赘述。
第四种情况:在电子设备将M个第一用户和M个显示窗口的第二用户进行置换之前,若电子设备检测到第三用户处于第一状态时,电子设备调整第三用户的当前活跃度排名;所述第一状态可以为所述显示窗口共享屏幕的工作状态,可以为所述显示窗口导入并播放视频流的工作状态,也可以为所述显示窗口导入音频流的工作状态,也可以电子设备检测到针对所述显示窗口的第一输入操作(所述第一输入操作包括但不限于用户在终端设备的屏幕上通过按钮、滑动或拖拽等方式对显示窗口进行手动替换顺序或位置等输入操作)后的工作状态,本申请实施例仅作举例说明,不做限制;所述第三用户为在所述K个显示窗口的视频通话用户中,处于第一状态且其当前活跃度排名在前K之外的视频通话用户;所述第三用户调整后 的活跃度排名在前K之内也可以与其用户排序号保持一致也可以保证所述第三用户当前的活跃度排名在前K之内,本申请实施例仅作举例说明,不做限制。当电子设备检测所述第三用户处于第一状态时,判断其为活跃的视频通话成员;若所述显示窗口的视频通话用户的当前活跃度排名在前K之外时,会通过调整所述视频通话用户的当前活跃度排名,使其活跃度排名与其用户排序相同(或令其当前活跃度排名在前K之内),从而保证第三用户不会被置换。
示例性的,如图6所示,电子设备100在T1时刻,其显示窗口对应的视频通话用户为A、B、C、D、E、W,其用户排序号分别为1-A、2-B、3-C、4-D、5-E、6-W;基于L的制定规则,设L=3;在T2时刻,视频通话用户的当前活跃度排名为1-B、2-E、3-G、4-H、5-J、6-C、7-A、8-D、9-W、10-I、11-Q、12-O、13-P……,将T1时刻的用户排序号与视频通话用户的当前活跃度排名进行对比,用户A、D、W的当前活跃度排名在前6之外;若基于上述L的设定规则令L=3,且在第一用户置换第二用户之前,电子设备100检测到用户A发起了屏幕共享(第一状态);电子设备100判断用户A为活跃的视频通话用户,为了使得用户A不被第一用户置换,电子设备100需要提高用户A的当前活跃度排名,使得用户A当前的活跃度排名为1(与A的用户排序相同)或者使得用户A的当前活跃度排名在前6之内;其中,电子设备100提高用户A的当前活跃度排名的方式可以为通过调整上述步骤S201中公式F的权重值W
ti和公式P1中的权重值W
rn,本申请实施例仅做举例说明,不做限制。在当前活跃度排名在前6的视频通话用户中,由于用户C的排名低于用户J的排名,在将用户A的活跃度排名调整后,用户C的活跃度排名会在前6之外;因此,电子设备100将用户C、D、W确定为第二用户(用户D、W的当前活跃度排名在前6之外),再根据上述图4实施例中的排序规则,得到用户C、D、W的第二排序号:1-C、2-D、3-W;然后电子设备100选择用户G、H、J为第一用户,再根据上述图4或图5实施例中的排序规则得到用户G、H、J的第一排序号:1-G、2-H、3-J;然后,电子设备100在T2时刻将用户C和G置换、用户D和H置换、J和W置换,得到T2时刻,6个显示窗口对应的视频通话用户。需要说明的是,在图6中,若在T2时刻,视频通话用户的当前活跃度排名为1-B、2-E、3-G、4-H、5-C、6-J、7-A、8-D、9-W、10-I、11-Q、12-O、13-P……,电子设备100将用户A的当前活跃度排名调高到与其用户排序相同时,在当前活跃度排名前6的视频通话用户中,用户C的活跃度排名比用户J高;因此,在非显示窗口对应的视频通话用户G、H、J中,仅有用户G、H为第一用户,可以置换对应的显示窗口的第二用户,此时M=2(M<L)。
第五种情况:电子设备将M个第一用户和M个显示窗口的第二用户进行置换之前,电子设备调整所述第四用户的当前活跃度排名,使其能够置换对应的显示窗口的第二用户;其中所述第四用户为在当前活跃度排名低于前K且处于第二状态的视频通话用户中,活跃度排名靠前的前S个用户,所述S小于或等于M;所述第四用户调整后的当前活跃度排名在前M;然后,电子设备再根据上述图4实施例中的置换规则,将第一用户和显示窗口的第二用户进行置换。示例性的,所述第二状态可以为所述第四用户在相邻预设时长内活跃度高的工作状态,例如,第四用户在相邻的预设时长内发言的次数和时间较多或者第四用户在相邻预设时长内分享屏幕等操作,本申请实施例仅作举例说明,不做限制。通过上述方式,有利于新加入的视频通话的视频通话用户,即使其当前活跃度排名没有达到置换第二用户的要求,但由于其在相邻的时间段内足够活跃,可以允许其置换当前活跃度排名在前K之外的第二用户。
示例性的,如图7所示,电子设备100的显示窗口对应的视频通话用户为用户B、E、G、I、D、Q,其用户排序号为:1-B、2-E、3-G、4-I、5-D、6-Q;在T2时刻视频通话用户的活跃度排名为1-A、2-B、3-H、4-O、5-D、6-Q、7-C、8-E、9-J、10-P、11-G、12-I、13-W……; 其中,用户C为在T1~T2期间刚加入的视频通话用户,且电子设备100检测到用户C在T1~T2时刻的活跃度较高(例如用户C发言频繁),将其确定为第四用户并给予其优先置换的资格;根据上述图3实施例中的置换规则,用户E、I、G为被替换显示窗口的第二用户(L=3,L=M),用户A、H、O为置换第二用户的第一用户,由于用户C为优先置换的第四用户;因此,电子设备100将用户C替换用户A、H、O中活跃度排名最低的O,使得用户A、H、C作为置换用户E、I、G的第一用户,得到T2时刻显示窗口对应的视频通话用户;其中,用户A、H、C置换用户E、I、G的过程请参考上述图4的实施例,本申请实施例不再赘述。另外,若第四用户的当前活跃度排名达到一个阈值时,电子设备可以给予所述第四用户优先置换权,置换的过程请参考上述图7实施例,本申请实施例不再赘述。
在一种可能实现的方式中,若在K个显示窗口对应的视频通话用户中,每个用户的当前活跃度排名都在前K之内,用户排序变化的数量可以理解为在所述K个显示窗口对应的视频通话用户中,当前活跃度排名与用户排序号不一致的视频通话用户的数量N。若所述数量N大于或等于M,电子设备在所述K个显示窗口对应的视频通话用户中,将M个第一用户与M个显示窗口的第二用户进行置换。电子设备将所述M个第一用户与M个显示窗口的第二用户进行置换的情况有以下三种:
第一种情况:电子设备设置序号i=1,然后分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户;其中,第一用户序列包括当前活跃度排名靠前的前L个视频通话用户,第二用户序列包括在用户排序序列中,序号靠前的前L个视频通话用户;所述用户排序序列包括K个带有用户排序号的视频通话用户。然后,电子设备判断所述第一视频通话用户和所述第二视频通话用户在用户排序序列中的位置是否都发生变化;若判断为是,电子设备根据公式i=i+1更新序号i,并执行电子设备分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户的步骤;若判断为否,电子设备判断所述第一视频通话用户的当前活跃度排名是否比所述第二视频通话用户高。若所述第一视频通话用户的当前活跃度排名不比所述第二视频通话用户高,所述电子设备根据公式i=i+1更新序号i,并执行电子设备分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户的步骤;若所述第一视频通话用户的当前活跃度排名比所述第二视频通话用户高,电子设备调换所述第一视频通话用户与所述第二视频通话用户在所述用户排序序列中的位置,得到更新后的用户排序序列。然后,所述电子设备在所述更新后的用户排序序列中,判断用户排序号变化的用户数量是否大于或等于L,若判断为是,所述电子设备将所述更新后的用户排序序列中用户排序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;若判断为否,所述电子设备根据公式i=i+1更新序号i,并执行电子设备分别在第一用户序列和第二用户序列中选取序号为i的第一视频通话用户和第二视频通话用户的步骤。
需要说明的是,在本申请实施例中,电子设备对当前活跃度排名靠前的前L个视频通话用户中,基于其当前活跃度排名,对所述视频通话用户进行排序得到第一用户序列,在所述第一用户序列中,每个视频通话用户都有序号i,所述序号i用于表征所述视频通话用户在所述第一用户序列中活跃度排名的靠前程度;电子设备基于K个显示窗口的视频通话用户的用户排序号对所述K个显示窗口的视频通话用户进行排序,得到第二用户序列,在所述第二用户序列中,视频通话用户的用户排序号就是其在该用户序列中的序号。
下面,本申请实施例对上述第一种情况进行举例说明。示例性的,请参见图8,电子设备100的显示界面有8个显示窗口,基于L的取值范围为
本申请实 施例以L=4为例,进行举例说明。在T1时刻,电子设备100的显示窗口对应的视频通话用户分别为A、B、C、D、E、G、H、I;因此,电子设备100可以根据显示窗口与视频通话用户的对应关系得到用户排序序列:1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I;电子设备100在所述用户排序序列中选取用户排序号在前4的视频通话用户,得到第二用户序列(1-A、2-B、3-C、4-D)。在T2时刻,电子设备100获取视频通话用户在T2时刻的当前活跃度排名:1-B、2-C、3-I、4-H、5-G、6-E、7-A、8-D……,所述电子设备100选取活跃度排名在前4之内的视频通话用户,得到第一用户序列(1-B、2-C、3-I、4-H)。电子设备100从第一用户序列和第二用户序列中选取序号i=1的用户B(第一视频通话用户)和用户A(第二视频通话用户);由于,用户B和用户A在用户排序序列中的位置都没有发生改变且用户B的当前活跃度排名高于用户A;因此,电子设备100将用户B和用户A在所述用户排序序列中的位置互换,得到更新后的用户排序序列(1-B、2-A、3-C、4-D、5-E、6-G、7-H、8-I)。电子设备100将更新后的用户排序序列与原始用户排序序列(1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I)进行对比,用户排序号发生变化的用户数量为2(小于4)。因此,电子设备100从第一用户序列和第二用户序列中选取序号i=2的用户C(第一视频通话用户)和用户B(第二视频通话用户);由于,用户C在原始用户排序序列中的位置没有发生改变且用户C的当前活跃度排名低于用户B,电子设备100不调换用户B和用户C在更新后的第一用户序列中的位置。然后,电子设备100从第一用户序列和第二用户序列中选取序号i=3的用户I(第一视频通话用户)和用户C(第二视频通话用户);由于,用户I和用户C在原始用户排序序列中的位置都没有发生改变且用户C的当前活跃度排名高于用户I,因此,电子设备100不调换用户I和用户C在更新后的第一用户序列中的位置。然后,电子设备100从第一用户序列和第二用户序列中选取序号i=4的用户H(第一视频通话用户)和用户D(第二视频通话用户);由于,用户H和用户D在用户排序序列中的位置没有发生改变且用户H的当前活跃度排名高于用户D;因此,电子设备100将用户H和用户D在所述用户排序序列中的位置互换,得到更新后的用户排序序列(1-B、2-A、3-C、4-H、5-E、6-G、7-D、8-I)。然后,电子设备100将更新后的用户排序序列(1-B、2-A、3-C、4-H、5-E、6-G、7-D、8-I)与原始的用户排序序列(1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I)进行对比,得到用户排序号发生变化的用户的数量为4,电子设备100将更新后的用户排序序列中用户排序号变化的用户B、A、H、D确定为第一用户,并将原始用户序列(1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I)中的用户A、B、D、H确定为第二用户;电子设备100将第一用户置换第二用户(用户B置换用户A,用户A置换用户B,用户H置换用户D,用户D置换用户H)。
第二种情况:电子设备设置序号i=1,然后分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户;其中,第一用户序列包括当前活跃度排名靠前的前L个视频通话用户,所述用户排序序列包括K个带有用户排序号的视频通话用户。电子设备判断所述第一视频通话用户和所述第三视频通话用户是否为相同用户,若判断为是,所述电子设备根据公式i=i+1更新序号i,并执行所述电子设备分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户的步骤;若判断为否,所述电子设备将所述第一视频通话用户和所述第三视频通话用户在所述用户排序序列中的位置相互调换,得到更新后的用户排序序列。然后,所述电子设备判断在所述更新后的用户排序序列中,用户排序号变化的用户数量是否大于或等于L,若判断为是,所述电子设备将所述更新后的用户排序序列中用户排序号变化的M个第一用户与所述M个显示窗口的第二用户进行置换;若判断为否,所述电子设备根据公式i=i+1更新序号i,并执行所述电子设备分别在第一用户序列和用户排序序列中选取序号为i的第一视频通话用户和第三视频通话用户的步骤。
下面,本申请实施例对上述第二种情况进行举例说明。示例性的,请参见图9,电子设备100的显示界面有8个显示窗口,设L=4,所述显示窗口对应的视频通话用户分别为1-A、 2-B、3-C、4-D、5-E、6-G、7-H、8-I,基于所述显示窗口对应的视频通话用户可以得到用户排序序列(1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I),用户排序序列的确定方式可参考上述第一种情况的实施例,这里不再赘述。在T2时刻,电子设备100获取视频通话用户在T2时刻的当前活跃度排名:1-B、2-C、3-I、4-H、5-G、6-E、7-A、8-D……,并选取活跃度排名前四的用户得到第一用户序列(1-B、2-C、3-I、4-H)。电子设备100分别在第一用户序列和用户排序序列中选取序号都为1的第一视频通话用户(用户B)和第三视频通话用户(用户A);电子设备100判断用户B和用户A不为同一用户,调换用户A和用户B在用户排序序列中的位置,得到更新后的用户排序序列(1-B、2-A、3-C、4-D、5-E、6-G、7-H、8-I)。在更新后的用户排序序列中,用户排序号发生变化的视频通话用户的数量为2(小于L),电子设备100分别在更新后的用户排序序列和第一用户序列中选取序号为2的第一视频通话用户(用户C)和第三视频通话用户(用户A);由于用户C和用户A不为同一用户,电子设备100将用户A和用户C在用户排序序列(1-B、2-A、3-C、4-D、5-E、6-G、7-H、8-I)中的位置置换,得到更新后的用户排序序列(1-B、2-C、3-A、4-D、5-E、6-G、7-H、8-I);由于在更新后的用户排序序列中,用户排序号发生变化的视频通话用户的数量等于4;因此,电子设备100将用户排序序列(1-B、2-C、3-A、4-D、5-E、6-G、7-H、8-I)中,与原始用户排序序列(1-A、2-B、3-C、4-D、5-E、6-G、7-H、8-I)相比,用户排序号发生的变化的视频通话用户确定为第一用户,去置换对应显示窗口的第二用户,得到T2时刻电子设备100显示窗口对应的视频通话用户。
第三种情况:在上述第一种情况和第二种情况中,若存在显示窗口的视频通话用户处于第三状态,在所述第一用户序列、所述第二用户序列以及所述用户排序序列中不包括处于第三状态的视频通话用户。其中,所述第三状态可以为锁定状态,本申请实施例仅作举例说明,不做限制。示例性的,在上述图9的实施例中,若用户B的显示窗口处于锁定状态,则第一用户序列不包括用户B,第一用户序列为:1-C、2-I、3-H、4-G;用户排序序列为1-A、2-C、3-D、4-E、5-G、6-H、7-I;电子设备100在第一用户序列和用户排序序列中选取序号为1的用户C和用户A进行比较,二者不为同一用户,电子设备100将用户C和用户A在用户排序序列中的位置进行置换,得到更新后的用户排序序列(1-C、2-A、3-D、4-E、5-G、6-H、7-I)。电子设备100在更新后的用户排序序列和第一用户序列中选择序号为2的用户A和用户I进行比较,二者不为同一用户,电子设备100将用户I和用户A在用户排序序列中的位置进行置换,得到更新后的用户排序序列(1-C、2-I、3-D、4-E、5-G、6-H、7-A);由于在更新后的用户排序序列中,用户排序号变化的用户数量达到了三个;电子设备在第一用户序列和更新后的用户排序序列中选择序号为3的用户H和用户D,然后调换用户H和用户D在所述更新后的用户排序序列中的位置,得到更新后用户排序序列(1-C、2-I、3-H、4-E、5-G、6-D、7-A)。由于,更新后的用户排序序列(1-C、2-I、3-H、4-E、5-G、6-D、7-A)与原始用户排序序列(1-A、2-C、3-D、4-E、5-G、6-H、7-I)相比,用户排序号发生变化的用户数量为5,大于L=4;因此,电子设备100将用户排序序列(1-C、2-I、3-D、4-E、5-G、6-H、7-A)中,与原始用户排序序列相比,用户排序号发生变化的用户A、用户C以及用户I作为第一用户,分别替换显示窗口中的用户A、用户C以及用户I,实现显示窗口的置换。
本申请实施例,当显示窗口的视频通话用户的当前活跃度排名与其用户排序号不一致时,所述视频通话用户会被其它视频通话用户置换;当显示窗口的视频通话用户被置换的数量过多时,会导致过多的显示窗口发生跳变,从而造成电子设备的显示界面不稳定,从而令给用户造成糟糕的视觉体验;另一方面,显示窗口的跳变数量过多,会导致电子设备在传输视频 流时占用过多的带宽,造成带宽的浪费,同时加大了云端服务器的负载。本申请实施例通过设置调换显示窗口的最大数量L,使得当显示窗口的视频通话用户的置换数量大于L时,限制置换视频通话用户的数量在L之内,在尽可能保证显示窗口对应的视频通话用户的活跃度排名靠前的情况下,控制跳变的显示窗口的数量,保证界面的稳定性,在给予用户良好的视觉效果的同时,减小视频流传输所占用的带宽以及减小云端服务器的负载。
请参考图10,图10示例性示出了电子设备100的硬件结构。
电子设备100可以包括:处理器1010,外部存储器接口1020,内部存储器1021,通用串行总线(universal serial bus,USB)接口1030,充电管理模块1040,电源管理模块1041,电池1042,天线1,天线2,移动通信模块1050,无线通信模块1060,音频模块1070,扬声器1070A,受话器1070B,麦克风1070C,耳机接口1070D,传感器模块1080,按键1090,马达1091,指示器1092,摄像头1093,显示屏1094,以及用户标识模块(subscriber identification module,SIM)卡接口1095等。其中传感器模块1080可以包括压力传感器1080A,陀螺仪传感器1080B,气压传感器1080C,磁传感器1080D,加速度传感器1080E,距离传感器1080F,接近光传感器1080G,指纹传感器1080H,温度传感器1080J,触摸传感器1080K,环境光传感器1080L,骨传导传感器1080M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1010可以包括一个或多个处理单元,例如:处理器1010可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器1010中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器1010中的存储器为高速缓冲存储器。该存储器可以保存处理器1010刚用过或循环使用的指令或数据。如果处理器1010需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器1010的等待时间,因而提高了系统的效率。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块1050,无线通信模块1060,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块1050可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块1050可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块1050可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块1050还可以对 经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器1010中。在一些实施例中,移动通信模块1050的至少部分功能模块可以与处理器1010的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器1070A,受话器1070B等)输出声音信号,或通过显示屏1094显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器1010,与移动通信模块1050或其他功能模块设置在同一个器件中。
无线通信模块1060可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块1060可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块1060经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器1010。无线通信模块1060还可以从处理器1010接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块850耦合,天线2和无线通信模块1060耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏1094,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏1094和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器1010可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏1094用于显示图像,视频等。显示屏1094包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏1094,N为大于1的正整数。
在本申请实施例中,显示屏1094用于显示本申请实施例提及的在电子设备100上实现的显示界面。该显示界面包括K个显示窗口,所述K个显示窗口用于显示对应视频通话用户的视频流。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字 信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
内部存储器1021可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器1010通过运行存储在内部存储器1021的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器1021可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器1021可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块1070,扬声器1070A,受话器1070B,麦克风1070C,耳机接口1070D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块1070用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块1070还可以用于对音频信号编码和解码。在一些实施例中,音频模块1070可以设置于处理器1010中,或将音频模块1070的部分功能模块设置于处理器1010中。
扬声器1070A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器1070A收听音乐,或收听免提通话。
压力传感器1080A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器1080A可以设置于显示屏894。压力传感器1080A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器1080A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏894,电子设备100根据压力传感器1080A检测所述触摸操作强度。电子设备100也可以根据压力传感器1080A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
触摸传感器1080K,也称“触控面板”。触摸传感器1080K可以设置于显示屏894,由触摸传感器1080K与显示屏894组成触摸屏,也称“触控屏”。触摸传感器1080K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏894提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器1080K也可以设置于电子设备100的表面,与显示屏894所处的位置不同。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图11是本申请实施例提供的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接 口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图11所示,应用程序包可以9视频类应用程序、游戏类应用程序、办公类应用程序、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,短信息等应用程序。为了描述简便,后续将视频类应用程序简称为视频应用,将游戏类应用程序简称为游戏应用。
视频应用为电子设备100提供音视频服务。电子设备100可以运行视频应用,并从该视频应用对应的服务器中获取网络视频。视频应用的数量可以为一个或多个,例如可包括华为视频。视频应用对应的服务器是指该视频应用的开发商所提供的用于管理该应用程序、为该应用程序提供音视频服务的服务器,例如华为视频服务器。
视频应用提供置换显示窗口用户的视频通话用户的功能;示例性的,当电子设备100基于所述视频通话用户的当前活跃度排名,在用户排序变化的数量达到L的情况下,将排序变化中的M个第一用户与M个显示窗口的第二用户进行置换。
游戏应用为电子设备100提供游戏服务。电子设备100可以运行游戏应用,并从本地或者该游戏应用对应的服务器中获取游戏资源。游戏应用的数量可以为一个或多个。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图11所示,应用程序框架层可以包括场景感知模块、窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
具体的,场景感知模块用于侦听前台或顶层的活动(activity),并根据侦听到的activity识别电子设备100在前台运行的应用程序,还可以根据前台运行的应用程序来确定电子设备100所处的场景。
场景感知模块为可选模块,在本申请的一些实施例中,场景感知模块的功能可以集成到应用程序层的投屏服务中。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
需要说明的是,上述实施例中的存储器,可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于于此。存储器可以是独立存在,通过总线于处理器相连接。存储器可以和处理器集成在一起。
上述实施例中的处理器,可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
对于前述各方法实施例,为了简单描述,故将其都表达为一系列的动作组合,但是本领域的技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述作为分离部件说明的单元可以是或者不是也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件的形式体现出来,该计算机软 件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(read-only memory,ROM)或者随机存取存储器(random access memory,RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。