一种多群组语音实时通信方法及系统与流程

文档序号:17488704发布日期:2019-04-23 20:13阅读:438来源:国知局
一种多群组语音实时通信方法及系统与流程

本发明属于通信技术改进领域,尤其涉及一种多群组语音实时通信方法及系统。



背景技术:

随着技术的不断发展,语音即时通讯技术已经成为人们不可或缺的一部分,语音的时效性要求,使得各种语音通讯设备和软件层出不穷,对讲机这类通讯设备也就成了一些交流频繁,并且时效性要求高的岗位的必备物品。但是对讲机通讯时一般只对应当前的群组进行语音的传输,缺少一种对其他群组也实施稳定监听的策略,导致其他群组的语音信息无法传送给当前群组。这时候,对于一些工作就可能带来不便,例如一些小区的安保,总部下有许多个小区,每个小区的保安会各自建组进行组内语音交流,这时候总部要监听到每个小区的语音就变得十分麻烦,需要在群组之间来回切换,如果不对语音进行分组全部发送给总部,总部就会收到各个小组的语音消息导致语音之间互相干扰,无法正确分辨是哪个小组发来的语音,所以一个新的群组之间语音交流的方案就显得尤为必要。

我们日常生活中用到的qq和微信也支持同时接收多群组的语音信息,但这类语音信息并不是实时的,而是需要用户去一一点击来播放,这种方式并不能满足用户在紧急情况下对信息的接收,所以也无法满足用户的需求。

在现有的即时通讯系统中,大多都能够实现建组,对讲,通话和抢麦的基本功能,却没有考虑到跨群组之间的语音转发,如果要发送语音给其他群组,则需要进行群组之间的切换,这样的方案就无法满足需要多群组转发的特定需求或者复杂的对讲环境。如专利h04l12/58(2006.01)i是一种智能建组对讲通话的通讯系统,专利h04l12/58(2006.01)i得通过对未阅读的信息进行手动接收。都无法完全满足当前多群组转发的需求。

统的对讲设备的对讲模式如图1所示,即多个对讲设备进行对讲必须要保证设备要是一样的频点即在相同的频道里面,这样才能接收到对方发出的语音,当多个设备处于不同的频道的时候,是无法接收所有频道的语音的。但是目前很多业务需求是要有这样的功能的,比如图1的接收终端是高一级的管理人员,要求能够管控到底下三个不同频道的人员,即能够监听到所有终端的语音,显然这在传统对讲机上是做不到的。



技术实现要素:

本发明的目的在于提供一种多群组语音实时通信方法,旨在解决上述的技术问题。

本发明是这样实现的,一种多群组语音实时通信方法,所述多群组语音实时通信方法包括以下步骤:

s1、发送终端将带识别标识的语音包发送给服务端;

s2、服务端对接收的语音包是否有权限进行判断,若有权限,则转发所有频道语音包到接收终端并执行下一步,若无权限,则接收端以传统方式接收;

s3、接收终端将接收的语音包进行实时解析获取其每个语音包的识别标识;

s4、接收终端根据解析的语音包判断其群组优先级;

s5、根据优先级高低记录第一个语音包的识别标识播放该语音包。

本发明的进一步技术方案是:所述步骤s5中还包括以下步骤:

s51、校验后续接收到的语音包识别标识是否与当前记录的识别标识一致,若是,则直接缓存到语音包数组,用于后续的解码工作,等待播放,若否,则先缓存不同组的语音数据到不同的缓存区,检验群组的优先等级,优先级高的群组的语音缓存区直接加入到解码队列,输出到喇叭,其余的缓存区的语音数据则进行录制成语音文件的操作,形成带有时间,群组名称,发送人标识的语音文件,供后续手动点拨收听。

本发明的进一步技术方案是:所述步骤s1之前还包括以下步骤:

s0、将发送终端、管理后台及接收终端通过互联网构建一个多群组通信网络监听系统。

本发明的进一步技术方案是:所述识别标识为组识别码gid及用户识别码uid。

本发明的进一步技术方案是:所述步骤s2中的权限是对用户账号管理,具有一个权限配置的数据库表,数据库表增加是否接收多群组语音的权限字段,多群组语音的权限字段修改管理后台进行管控,在后台设置好权限,服务端读取数据库表中的权限,确认权限授予,会将各个群组的语音转发到终端。

本发明的另一目的在于提供一种多群组语音实时通信系统,所述多群组语音实时通信系统包括

发包模块,用于发送终端将带识别标识的语音包发送给服务端;

权限判断模块,用于服务端对接收的语音包是否有权限进行判断,若有权限,则转发所有频道语音包到接收终端并执行解析模块,若无权限,则接收端以传统方式接收;

解析模块,用于接收终端将接收的语音包进行实时解析获取其每个语音包的识别标识;

判断优先级模块,用于接收终端根据解析的语音包判断其群组优先级;

播放模块,用于根据优先级高低记录第一个语音包的识别标识播放该语音包。

本发明的进一步技术方案是:所述播放模块中还包括以下步骤:

校验单元,用于校验后续接收到的语音包识别标识是否与当前记录的识别标识一致,若是,则直接缓存到语音包数组,用于后续的解码工作,等待播放,若否,则先缓存不同组的语音数据到不同的缓存区,检验群组的优先等级,优先级高的群组的语音缓存区直接加入到解码队列,输出到喇叭,其余的缓存区的语音数据则进行录制成语音文件的操作,形成带有时间,群组名称,发送人标识的语音文件,供后续手动点拨收听。

本发明的进一步技术方案是:所述发包模块之前还包括

监听系统搭建模块,用于将发送终端、管理后台及接收终端通过互联网构建一个多群组通信网络监听系统。

本发明的进一步技术方案是:所述识别标识为组识别码gid及用户识别码uid。

本发明的进一步技术方案是:所述权限判断模块中的权限是对用户账号管理,具有一个权限配置的数据库表,数据库表增加是否接收多群组语音的权限字段,多群组语音的权限字段修改管理后台进行管控,在后台设置好权限,服务端读取数据库表中的权限,确认权限授予,会将各个群组的语音转发到终端。

本发明的有益效果是:通过对帐号的语音权限进行管控,可以对某些帐号开通监听多群组语音的权限;有人讲话时对讲机可以显示讲话人的账号和群组信息,从而使用户能分清是哪一个组在进行讲话;同时有多群组讲话,终端只能播放一个群组的语音,其它群组的语音记录可以通过保存记录,供用户手动点击播放,以避免用户遗失讲话的内容。

附图说明

图1是传统的对讲设备的局限性示意图。

图2是本发明实施例提供的通信架构图示意图。

图3是本发明实施例提供的终端发送的语音包结构示意图。

图4是本发明实施例提供的语音包解析示意图。

图5是本发明实施例提供的多群组语音实时通信方法流程图。

具体实施方式

如图5所示,本发明提供的多群组语音实时通信方法,其详述如下:

当前很多公网对讲都已实现了传统对讲的功能,其实大都是根据传统对讲的功能依样画葫芦,传统对讲的功能是有了,但是传统对讲存在的弊端还是依旧存在。还是存在上述的问题。现在公网对讲实现的方式是将所有终端拉进一个相同的群组,来实现集群对讲,但这本质上还是传统对讲的形式。

针对前面所说的传统对讲机的劣势,本发明基于公网对讲的基础上新增各个账号的权限管控,来实现多群组的语音监听。高度可行地弥补传统对讲不足的方案。如图2所示为本发明采用的通信架构图。服务端不仅仅只是转发当前组的语音,当接收终端有接收所有群组语音的权限时,服务端会将所有语音包转发给终端,当前如果只有一个群组在发送语音直接输出到喇叭即可,如果有多个群组同时发起讲话,接收终端会根据群组的优先级来进行筛选,先将各个不同组的语音包根据组id缓存到数组里,然后将优先级最高的语音数据流输出到喇叭,其余的语音流被录制,并提示用户期间有语音进入,可进行回放。如此就可以达到多群组的语音监听,而且处理了多群组语音同时发送的问题。

步骤s0,将发送终端、管理后台及接收终端通过互联网构建一个多群组通信网络监听系统。通过管理后台,服务端和客户端将整个通信网络进行体现,并将其搭建成一个多群组通信网络监听系统。

步骤s1,发送终端将带识别标识的语音包发送给服务端;终端发送的语音包加入组识别码gid及用户识别码uid作为识别标识。这样,每个语音包都可以识别出是哪个群组里的哪个用户发出。

步骤s2,服务端对接收的语音包是否有权限进行判断,若有权限,则转发所有频道语音包到接收终端并执行下一步,若无权限,则接收端以传统方式接收;对于用户账号的权限管理,专门有一个权限配置的数据库表,该表增加是否接收多群组语音的权限字段,这个字段的修改在管理后台进行管控,当在后台设置好权限,服务端读取数据库表中的权限,确认权限授予,就会将各个群组的语音转发到终端。

步骤s3,接收终端将接收的语音包进行实时解析获取其每个语音包的识别标识;接收终端接收到语音时解析出语音包的群组识别码gid及用户识别码uid。

步骤s4,接收终端根据解析的语音包判断其群组优先级;记录第一个语音包的组识别码gid,播放该语音包。

步骤s5,根据优先级高低记录第一个语音包的识别标识播放该语音包。检验后续接收到的语音包组识别码gid是否与当前记录的gid一致。当gid一致时直接缓存到语音包数组,用于后续的解码工作,等待播放。当gid不一致时,还是先缓存不同组的语音数据到不同的缓存区,检验群组的优先等级,优先级高的群组的语音缓存区直接加入到解码队列,输出到喇叭,其余的缓存区的语音数据则进行录制成语音文件的操作,形成带有时间,群组名称,发送人标识的语音文件,供后续手动点拨收听。

终端发送的语音包的字段包含如下,在接收端可以对语音包进行解析得到相应的组识别码gid和用户识别码uid及语音数据包。

每个语音包的结构如图3所示,了解了语音包的结构之后就可以对语音包进行解析,首先解析语音包前两个字节获取msgid,当识别为语音包时进行下一步解析,解析出语音包长度,组识别码gid,用户识别码uid,以及语音数据,语音包的长度用来判别语音包的完整,组识别码gid用来作为识别语音包的发出的群组,用户识别码uid用来识别语音包发出的人员,服务端也会对此标识进行权限的判别,语音数据则是用于输出到喇叭。图4是语音包解析成各个部分的示意图。

服务端判断接收端是否有接收多群组语音的权限就是根据用户识别码uid进行数据库的查询来完成的,当在管理后台设置了具有接收多群组语音的权限,服务端会知晓要转发所有群组的语音到此接收端。接收端收到的语音是杂乱无章的,所有的语音包接收到的顺序是随机的,这就要求接收端对语音包进行整理,将相同gid的语音包缓存在一起。将语音包整理完成后,需要知道那个gid对应的优先级是最高的,然后对这个组id对应的语音包进行解码成语音数据,然后利用安卓的audiotrack进行播放。

本发明的另一目的在于提供一种多群组语音实时通信系统,所述多群组语音实时通信系统包括

发包模块,用于发送终端将带识别标识的语音包发送给服务端;

权限判断模块,用于服务端对接收的语音包是否有权限进行判断,若有权限,则转发所有频道语音包到接收终端并执行解析模块,若无权限,则接收端以传统方式接收;

解析模块,用于接收终端将接收的语音包进行实时解析获取其每个语音包的识别标识;

判断优先级模块,用于接收终端根据解析的语音包判断其群组优先级;

播放模块,用于根据优先级高低记录第一个语音包的识别标识播放该语音包。

所述播放模块中还包括以下步骤:

校验单元,用于校验后续接收到的语音包识别标识是否与当前记录的识别标识一致,若是,则直接缓存到语音包数组,用于后续的解码工作,等待播放,若否,则先缓存不同组的语音数据到不同的缓存区,检验群组的优先等级,优先级高的群组的语音缓存区直接加入到解码队列,输出到喇叭,其余的缓存区的语音数据则进行录制成语音文件的操作,形成带有时间,群组名称,发送人标识的语音文件,供后续手动点拨收听。

所述发包模块之前还包括

监听系统搭建模块,用于将发送终端、管理后台及接收终端通过互联网构建一个多群组通信网络监听系统。

所述识别标识为组识别码gid及用户识别码uid。

所述权限判断模块中的权限是对用户账号管理,具有一个权限配置的数据库表,数据库表增加是否接收多群组语音的权限字段,多群组语音的权限字段修改管理后台进行管控,在后台设置好权限,服务端读取数据库表中的权限,确认权限授予,会将各个群组的语音转发到终端。

通过对帐号的语音权限进行管控,可以对某些帐号开通监听多群组语音的权限;有人讲话时对讲机可以显示讲话人的账号和群组信息,从而使用户能分清是哪一个组在进行讲话;同时有多群组讲话,终端只能播放一个群组的语音,其它群组的语音记录可以通过保存记录,供用户手动点击播放,以避免用户遗失讲话的内容。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1