掌桥专利:专业的专利平台
掌桥专利
首页

一种语音通信方法、装置、设备和存储介质

文献发布时间:2023-06-19 19:38:38


一种语音通信方法、装置、设备和存储介质

技术领域

本申请涉及互联网通信技术领域,特别是涉及一种语音通信方法、装置、设备和存储介质。

背景技术

随着移动通信网络技术的不断升级运用,语音通信的应用越来越广泛,尤其是近几年比较火的游戏、直播对语音通信的应用越来越紧密。语音通信从开始的一对一通信,到一对多单项通信,再到多对多实时通信不断发展。其中,三维(ThreeDimensions,3D)游戏和元宇宙对语音通信的需求,不满足于二维(TwoDimensions,2D)语音通信,对3D语音有着更强烈的需求。例如,在3D射击游戏中,玩家需要和队友模拟无线电通信的2D语音通信,同时为了更好的还原3D环境声音,还需要3D语音通信,给玩家沉浸的3D体验,因此,如何实现2D语音和3D语音混合通信是目前亟待解决的问题。

发明内容

基于此,本申请提供了一种语音通信方法、装置、设备和存储介质,以实现2D语音和3D语音混合通信。

第一方面,提供一种语音通信方法,该方法包括:

响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息;

第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型;

根据频道类型,发送用户的语音消息。

根据本申请实施例中一种可实现的方式,根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息,包括:

根据用户输入的登录信息,登录游戏服务器;

基于游戏服务器获取用户所处三维场景中的频道配置信息。

根据本申请实施例中一种可实现的方式,频道配置信息包括不同语音频道在三维场景中对应的区域分布信息;第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型,包括:

第一语音客户端根据区域分布信息和实时获取的用户位置信息,确定语音通信的频道类型。

根据本申请实施例中一种可实现的方式,频道类型包括2D语音频道和3D语音频道;根据区域分布信息和实时获取的用户位置信息,确定语音通信的频道类型,包括:

根据区域分布信息和实时获取的用户位置信息,判断用户在三维场景中的所处区域;

当用户处于2D语音频道对应的区域,确定语音通信的频道类型为2D语音频道;

当用户处于3D语音频道对应的区域,确定语音通信的频道类型为3D语音频道。

根据本申请实施例中一种可实现的方式,根据频道类型,发送用户的语音消息,包括:

当频道类型为2D语音频道时,向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

根据本申请实施例中一种可实现的方式,根据频道类型,发送用户的语音消息,包括:

当频道类型为3D语音频道时,根据获取的第一语音客户端与第二语音客户端的位置信息,确定第一语音客户端与第二语音客户端的距离;

根据第一语音客户端与第二语音客户端的距离,确定用户的语音消息的衰减参数;

基于衰减参数向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

根据本申请实施例中一种可实现的方式,该方法还包括:

当切换发送用户的语音消息的语音频道时,获取第一语音客户端在当前预设时间范围内切换语音频道的切换次数;

若切换次数大于预设次数,延迟预设时间切换发送用户的语音消息的语音频道;或者,用户由一个区域跨越另一个区域预设距离之后切换发送用户的语音消息的语音频道。

第二方面,提供了一种语音通信装置,该装置包括:

获取模块,用于响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息;

确定模块,用于第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型;

发送模块,用于根据频道类型,发送用户的语音消息。

第三方面,提供了一种计算机设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面中涉及的方法。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面中涉及的方法。

根据本申请实施例所提供的技术内容,响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息,第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型,根据频道类型,发送用户的语音消息。如此,通过对语音消息分频道管理,多个语音频道同时工作,使得2D语音和3D语音混合通信,提高语音通信的灵活性和便利性。

附图说明

图1为一个实施例中语音通信方法的应用环境图;

图2为一个实施例中语音通信方法的流程示意图;

图3为一个实施例中语音通信装置的结构框图;

图4为一个实施例中计算机设备的示意性结构图。

具体实施方式

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的语音通信方法,可以应用于如图1所示的系统架构中。其中,终端102通过网络与服务器104通过网络进行通信。终端102设置有业务客户端,通过业务客户端创建第一语音客户端,服务器104包括游戏服务器和语音服务器。在创建第一语音客户端之后,业务客户端根据用户输入的登录信息,登录游戏服务器获取用户所处三维场景中的频道配置信息,第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型,根据频道类型,向语音服务器发送用户的语音消息。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

图2为本申请实施例提供的一种语音通信方法的流程图,该方法可以由如图1所示系统中的终端102执行。如图2所示,该方法可以包括以下步骤:

S210,响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息。

第一语音客户端为发送语音消息的语音客户端。在创建第一语音客户端之前,业务客户端通过向语音服务器地址发送令牌随机数tokenkey获取用于表示唯一客户端的token,并保存该业务客户端的token。业务客户端采用token和语音服务器地址来创建语音连接器。在业务客户端创建第一语音客户端之后,第一语音客户端通过语音连接器向语音服务器发起连接时,语音服务器根据token来识别第一语音客户端的身份,验证其权限和有效性。当第一语音客户端验证通过后,便可以向语音服务器发送语音消息了。语音服务器具有转发功能,第一语音客户端可以通过语音服务器向同一通信频道中的语音客户端发送语音消息。

登录信息可以包括用户账号、验证码、密码等信息。用户在业务客户端输入账号密码登录游戏服务器,通过游戏服务器获取用户所处三维场景中的频道配置信息。其中,频道配置信息可以包括2D语音频道、3D语音频道、2D语音频道和3D语音频道对应的区域分布信息、3D语音的有效范围、衰减速率和支持数量等。

S220,第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型。

用户位置信息包括用户在三维场景中所处的区域,频道类型可以包括2D语音频道和3D语音频道。通过2D语音频道和3D语音频道对应的区域分布信息与用户在三维场景中所处的区域进行匹配,确定用户进行语音通信的频道类型。用户进行语音通信的频道类型会随着用户在三维场景中的移动发生切换,切换方式可以为由2D语音频道切换3D语音频道,由3D语音频道切换2D语音频道,由单语音频道切换至双语音通信频道同时进行。

比如说,用户刚开始进入三维场景时加入了2D语音频道,随着用户在三维场景中的移动进入了3D语音频道对应的区域,此时,用户进行语音通信的频道类型由2D语音频道切换至3D语音频道。

S230,根据频道类型,发送用户的语音消息。

不同的频道类型对语音消息的处理方法不同,比如说,通过2D语音频道发送语音消息时,可以直接将2D语音发送至语音服务器转发给同频道的其他语音客户端。通过3D语音频道发送语音消息时,需要对3D语音进行距离衰减,然后转发将3D语音发送至语音服务器转发给同频道的其他语音客户端。

可以看出,本申请实施例通过响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息,第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型,根据频道类型,发送用户的语音消息。如此,通过对语音消息分频道管理,多个语音频道同时工作,使得2D语音和3D语音混合通信,提高语音通信的灵活性和便利性。

作为一种可实现的方式,S210中根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息,包括:

根据用户输入的登录信息,登录游戏服务器;

基于游戏服务器获取用户所处三维场景中的频道配置信息。

游戏服务器用于配置语音频道参数,比如说,3D语音的衰减范围、衰减速率、最大支持在线人数。还可以配置三维场景中每个区域的语音频道类型,例如,将三维场景根据音效需求分为区域A、区域B和区域C,为区域A配置3D语音频道,为区域B配置3D语音频道和2D语音频道,为区域C配置2D语音频道。

用户通过业务客户端输入登录信息,游戏服务器验证通过之后,登录游戏服务器,基于游戏服务器获取预先对用户所处三维场景中配置的频道信息。第一语音客户端根据用户所在区域,进行频道的加入、切换和退出,从而实现2D-3D语音通信的灵活切换,以及2D-3D语音混合通信,更加真实地模拟3D环境声音传递。

作为一种可实现的方式,频道配置信息包括不同语音频道在三维场景中对应的区域分布信息;第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型,包括:

第一语音客户端根据区域分布信息和实时获取的用户位置信息,确定语音通信的频道类型。

区域分布信息表征在三维场景中设置不同语音频道的区域的分布情况,可以包括划分区域面积、划分区域位置、划分区域位置与语音频道映射关系。首先根据实时获取的用户位置信息确定用户在三维场景中的划分区域位置,然后根据划分区域位置与语音频道映射关系,确定语音通信的频道类型。

具体地,根据区域分布信息和实时获取的用户位置信息,判断用户在三维场景中的所处区域;

当用户处于2D语音频道对应的区域,确定语音通信的频道类型为2D语音频道;

当用户处于3D语音频道对应的区域,确定语音通信的频道类型为3D语音频道。

除此之外,若用户处于2D语音频道和3D语音频道共存的区域,确定语音通信的频道类型为2D语音频道和3D语音频道。

作为一种可实现的方式,S230中根据频道类型,发送用户的语音消息,包括:

当频道类型为2D语音频道时,向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

当频道类型为3D语音频道时,根据获取的第一语音客户端与第二语音客户端的位置信息,确定第一语音客户端与第二语音客户端的距离;

根据第一语音客户端与第二语音客户端的距离,确定用户的语音消息的衰减参数;

基于衰减参数向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

其中,第二语音客户端为与第一语音客户端处于同一语音频道的语音客户端,业务客户端会记录每个语音频道内的语音客户端,形成语音客户端列表。

当频道类型为2D语音频道时,以2D语音形式传递用户的语音消息。由于用户的语音信息原本就是2D语音,可直接向语音服务器发送用户的语音消息,语音服务器将用户的语音消息转发给第二语音客户端。

当频道类型为3D语音频道时,以3D语音形式传递用户的语音消息。获取第一语音客户端的位置信息和第二语音客户端的位置信息,计算第一语音客户端与第二语音客户端的距离,将该距离作为除数,以游戏服务器端配置的衰减速率作为被除数,得到的比值作为衰减参数。基于该衰减参数将用户的语音消息转化为3D语音,向语音服务器发送3D语音,语音服务器将3D语音转发给第二语音客户端。

当频道类型为2D语音频道和3D语音频道时,基于衰减参数将用户的语音消息转化为3D语音,通过两个语音频道同时向语音服务器发送2D语音和3D语音,语音服务器将2D语音和3D语音转发给第二语音客户端。在保证用户2D语音正常通信的同时,更好地还原3D环境声音和语音通信,为用户提供沉浸式3D体验。

作为一种可实现的方式,该方法还包括:当切换发送用户的语音消息的语音频道时,获取第一语音客户端在当前预设时间范围内切换语音频道的切换次数;

若切换次数大于预设次数,延迟预设时间切换发送用户的语音消息的语音频道;或者,用户由一个区域跨越另一个区域预设距离之后切换发送用户的语音消息的语音频道。

其中,当前预设时间范围为当前时刻之前的某个时间段,可以根据用户实际需求设置,比如说,当前时刻前1分钟。预设时间为切换语音频道的延时,为保证用户体验的流畅性,该值不要取较大值。预设距离与预设时间的选取原则相同,不要取较大值。预设次数可以在保证用户体验流畅前提下尽可能取较小值,避免语音频道切换频繁导致语音客户端切换失败的情况。

若切换次数大于预设次数,表明语音频道切换频繁,需要延迟切换发送用户的语音消息的语音频道。可以通过时间维度,也可以通过空间维度进行延迟。比如,通过延迟预设时间切换发送用户的语音消息的语音频道,或者用户由一个区域跨越另一个区域预设距离之后切换发送用户的语音消息的语音频道。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图3为本申请实施例提供的一种语音通信装置的结构示意图,该装置可以设置于图1所示系统中的终端102,用以执行如图2中所示的方法流程。如图3所示,该装置可以包括:获取模块310、确定模块320和发送模块330。其中各组成模块的主要功能如下:

获取模块310,用于响应于创建第一语音客户端,业务客户端根据用户输入的登录信息,获取用户所处三维场景中的频道配置信息;

确定模块320,用于第一语音客户端根据频道配置信息和实时获取的用户位置信息,确定语音通信的频道类型;

发送模块330,用于根据频道类型,发送用户的语音消息。

作为一种可实现的方式,获取模块310,具体用于根据用户输入的登录信息,登录游戏服务器;

基于游戏服务器获取用户所处三维场景中的频道配置信息。

作为一种可实现的方式,频道配置信息包括不同语音频道在三维场景中对应的区域分布信息;确定模块320,具体用于第一语音客户端根据区域分布信息和实时获取的用户位置信息,确定语音通信的频道类型。

作为一种可实现的方式,频道类型包括2D语音频道和3D语音频道;确定模块320,具体用于根据区域分布信息和实时获取的用户位置信息,判断用户在三维场景中的所处区域;

当用户处于2D语音频道对应的区域,确定语音通信的频道类型为2D语音频道;

当用户处于3D语音频道对应的区域,确定语音通信的频道类型为3D语音频道。

作为一种可实现的方式,发送模块330,具体用于当频道类型为2D语音频道时,向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

作为一种可实现的方式,发送模块330,具体用于当频道类型为3D语音频道时,根据获取的第一语音客户端与第二语音客户端的位置信息,确定第一语音客户端与第二语音客户端的距离;

根据第一语音客户端与第二语音客户端的距离,确定用户的语音消息的衰减参数;

基于衰减参数向语音服务器发送用户的语音消息,以使得语音服务器将用户的语音消息转发给第二语音客户端。

作为一种可实现的方式,发送模块330,还用于当切换发送用户的语音消息的语音频道时,获取第一语音客户端在当前预设时间范围内切换语音频道的切换次数;

若切换次数大于预设次数,延迟预设时间切换发送用户的语音消息的语音频道;或者,用户由一个区域跨越另一个区域预设距离之后切换发送用户的语音消息的语音频道。

可以理解的是,实施本申请的任一方法或产品并不一定需要同时达到以上所述的所有优点

上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。

根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。

如图4所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。

如图4所示,设备400包括计算单元401、ROM402、RAM403、总线404以及输入/输出(I/O)接口405,计算单元401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

计算单元401可以根据存储在只读存储器(ROM)402中的计算机指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元408。

RAM403还可存储设备400操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM802和/或通信单元409而被载入和/或安装到设备400上。

设备400中的输入单元406、输出单元407、存储单元408和通信单元409可以连接至I/O接口405。其中,输入单元406可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元407可以是诸如显示器、扬声器、指示灯等。设备400能够通过通信单元409与其他设备进行信息、数据等的交换。

需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。

用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元401,使得计算机指令当由诸如处理器等计算单元401执行时使执行本申请方法实施例中涉及的各步骤。

本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

技术分类

06120115982378