一种聊天室的语音检测方法及相关设备与流程

文档序号:19124352发布日期:2019-11-13 01:58阅读:280来源:国知局
一种聊天室的语音检测方法及相关设备与流程

本发明涉及计算机网络技术领域,尤其涉及一种聊天室的语音检测方法及相关设备。



背景技术:

随着计算机网络技术的快速发展,诸如手机、平板电脑等手持移动设备越来越普及,给人们的生活、学习及工作带来了极大的便利。

在具体实现中,这些移动设备通常安装有各种各样的应用程序(app),以实现各种功能,满足用户需求。例如,用户可以通过移动设备中安装的语音app,进入网络聊天室(简称语音聊天室、语音房或者语音聊天房)进行语音通话或声乐表演。对于多人在线的大型语音app而言,每时每刻都有数以万计的用户在不同的聊天室里进行语音通话和聊天。在客户端的背后,是无数的服务器对用户上传的语音包进行编解码、压缩、混合和分发,然后在收听方的客户端进行解码、播放。对于整个链路而言,各个环节都有一定概率的故障,如对于服务器来说,网络波动、机房故障、服务器升级问题等都会导致语音传输链路的断开,直接导致语音房间语音全部或部分中断。对于这种发生比较突然、原因多种多样的语音故障,需要一种实时性高,且能尽可能反映具体问题的检测技术,以在问题发生时不仅能第一时间感知到问题,且能通过该检测技术明确问题所在,减少发现和解决问题的时间,避免各方面的损失。

目前,主要是通过服务间检测语音包发送的丢包率进行告警。丢包率(packetlossrate)是指测试中所丢失数据包数量占所发送数据组的比率,其计算方法是:[(输入报文-输出报文)/输入报文]*100%”。丢包率与数据包长度以及包发送频率相关。虽然丢包率能在一定程度上反映服务器之间语音数据包的传输状态,但也有很大的局限性,原因在于,出现语音传输故障的原因不止服务器间传输故障,还包括其他各种各样的原因,依靠服务器间的丢包率并不能准确的反映问题。例如,在终端解码丢包、链路问题导致下发包失败等问题的情况下,基于服务器间的丢包率进行检测,不能检测终端丢包,链路问题导致下发包失败等问题;又如,在语音服务器本身出了较为严重的问题的情况下,基于服务器可能检测不到丢包率,很可能也同时丢失了检测告警的能力。



技术实现要素:

有鉴于此,本发明实施例提供一种聊天室的语音检测方法及相关设备,以解决现有技术中由于服务器故障检测不到丢包率导致对聊天室检测告警能力丢失的问题。

第一方面,本发明实施例提供了一种聊天室的语音检测方法,包括:依据服务器发送的麦克风信息,确定聊天室中的开麦用户;依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长;若所述静音时长超过预设时长阈值,则向所述服务器发送所述开麦用户存在语音异常的信息。

第二方面,本发明实施例还提供了一种聊天室的语音检测装置,包括:

开麦用户确定模块,用于依据服务器发送的麦克风信息,确定聊天室中的开麦用户;

静音时长确定模块,用于依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长;

语音异常发送模块,用于在所述静音时长超过预设时长阈值时,向所述服务器发送所述开麦用户存在语音异常的信息。

第三方面,本发明实施例还提供了一种移动设备,包括:处理器和存储器;所述存储器中存储有至少一条指令,所述指令由所述处理器执行,使得所述移动设备执行如第一方面所述的聊天室的语音检测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质中的指令由移动设备的处理器执行时,使得移动设备能够执行如第一方面所述的聊天室的语音检测方法。

第五方面,本发明实施例还提供了一种聊天室的语音检测系统,包括:第三方面所述的移动设备以及与所述移动设备交互的服务器;该服务器包括至少能够实现第一方面中所述服务器对应功能的服务器,以及依据所述移动设备发送的开麦用户存在语音异常的信息,发送告警信息。

采用本发明实施例,可通过服务器发送的麦克风信息确定出聊天室中的开麦用户,并可根据该聊天室对应的语音状态信息确定出开麦用户对应的静音时长,从而可在静音时长超过预设时长阈值时向服务器发送所述开麦用户存在语音异常的信息,使得服务器可以依据该开麦用户存在语音异常的信息确定出聊天室中的语音异常情况,达到对聊天室进行语音异常检测的目的。

此外,本实施例利用聊天室中的语音状态信息进行检测,不同于现有技术中采用服务器的丢包率进行检测,排除了网络传输的因素,提高了检测准确性,同时解决了现有技术中由于服务器故障检测不到丢包率导致对聊天室检测告警能力丢失的问题,能够全面反映出聊天室语音故障问题,减少人工干预步骤,提高用户体验。

附图说明

图1是本发明实施例中的一种聊天室的语音检测方法的步骤流程示意图;

图2是本发明一个可选实施例中的一种聊天室的语音检测方法的步骤流程示意图;

图3本发明实施例中的另一种聊天室的语音检测方法的步骤流程示意图;

图4是本发明一个示例中客户端与信令服务器之间的交互示意图;

图5是本发明实施例中的一种聊天室的语音检测装置实施例的结构方框示意图;

图6是本发明实施例中的另一种聊天室的语音检测装置实施例的结构方框框示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构或组成。

随着计算机网络技术的快速发展,用户可以通过移动设备进入网络聊天室(简称语音聊天室、语音房或者语音聊天房)进行语音聊天。该移动设备可以作为聊天室的客户端,与服务器进行通信,从而可以通过服务器向该聊天室中的其他用户发送语音信息和/或接收其他用户所发送的语音信息,满足用户在线聊天或娱乐的需求。

需要说明的是,移动设备可以是指在移动中使用的计算机设备,具体可以包括诸如手机、平板等手持移动设备。

聊天室是一种用户可以在线交谈的网络虚拟房间,如可以是能够支持多人同时在线进行语音通话的虚拟房间。在实际处理中,可以将能够支持多人在线进行语音通话的虚拟房间称为多人语音房间,并可按照角色将该多人语音房间中的用户分为麦上用户和听众用户。其中,麦上用户可以说话,即可以在聊天室中广播发送语音信息,使得该聊天室中的其他用户可以听到其说话的声音;听众用户通常只能听到麦上用户说话的声音,而自己无法说话,即听众用户无法在聊天室中发送语音信息。对于麦上用户而言,能否在聊天室中说话还依赖该麦上用户的麦位是否被房主或管理员禁麦,该麦上用户自己是否打开设备的麦克风开关。在没有被禁麦且打开了麦克风的状态下,麦上用户可以通过其打开的麦克风在多人语音房间中说话,并且说话的声音可以被该多人语音房间中的其他人听到。

参照图1,示出了本发明实施例中的一种聊天室的语音检测方法的步骤流程示意图,具体可以包括如下步骤:

步骤110,依据服务器发送的麦克风信息,确定聊天室中的开麦用户。

在具体实现中,作为聊天室客户端的移动设备在依据用户操作进入聊天室后,可以接收服务器针对该聊天室发送的各种信息,如可以接收服务器针对该聊天室所转发的语音信息、麦克风信息等。其中,语音信息可以表示用户说话的语音;麦克风信息可以包括聊天室中与麦克风相关的各种信息,具体可以用于确定聊天室中各用户的麦克风位置(简称麦位)和麦克风的开闭情况,如可以包括麦位信息、麦克风状态信息等,本实施例对此不作具体限制。

具体而言,本实施例中的客户端在用户进入聊天室后,可以从服务器中获取该聊天室的麦克风信息,如向服务器发送请求,以从服务器中拉取该聊天室中的麦克风信息,从而可以依据该麦克风信息中的麦位信息确定该聊天室中用户的麦位,并可依据该麦克风信息中的麦克风状态信息确定各个用户所使用的麦克风的开闭状态,进而可以基于麦克风的开闭状态确定出该聊天室中的开麦用户,即在用户所使用的麦克风处于开启状态的情况下,可将该用户确定为开麦用户。其中,开麦用户可以表示开启了麦克风且该麦克风对应的麦位处于打开状态的用户。需要说明的是,麦克风对应的麦位处于打开状态可以是指该麦位没有被禁止,用户可以通过该麦位进行语音发送。麦位信息可以表示用户麦克风的位置,如可以是用户麦克风的互联网协议(internetprotocol,ip)地址。麦克风状态信息可以确定开闭麦状态,如在麦克风状态信息为开麦状态信息时,可以确定麦克风状态信息所对应的麦克风处于开启状态,以及可以确定使用该麦克风的用户为打开麦克风的开麦用户;而在麦克风状态信息为闭麦状态信息时,可以确定麦克风状态信息所对应的麦克风处于关闭状态,以及可以确定使用该麦克风的用户关闭麦克风。

步骤120,依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长。

本实施例中,在用户进入聊天室后,客户端可以获取该聊天室对应的语音状态信息,以根据该语音状态信息检测该聊天室中开麦用户是否有发出声音,从而可以在开麦用户没有发出声音的时候确定该开麦用户处于静音状态,并可记录该开麦用户对应的静音时长。该静音时长可以表示用户没有发出声音的时长。其中,语音状态信息可以用于确定聊天室中的语音状态,如在聊天室中没有用户讲话的时候,基于该语音状态信息可以确定该聊天室的语音状态为静音状态;而在该聊天室中的某些开麦用户说话时,可以基于该语音状态信息可以确定该聊天室的语音状态为用户说话状态,并确定该聊天室中的哪些开麦用户正在说话等。

在本发明的一个可选实施例中,可以将媒体工具包的语音状态推送信息作为聊天室对应的语音状态信息,以根据该媒体工具包的语音状态推送信息确定聊天室中的开麦用户是否有在说话。进一步的,上述依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长,包括:将媒体工具包的语音状态推送信息作为所述聊天室对应的语音状态信息;基于所述语音状态信息确定所述媒体工具包是否接收到媒体数据;若所述媒体工具包没有接收到媒体数据,则基于当前时间确定所述开麦用户对应的静音时长。其中,语音状态推送信息可以是指媒体工具包推送的语音状态信息,可以用于确定聊天室中的说话状态。

具体而言,客户端在用户进入聊天室后,可以通过媒体工具包mediasdk接收该聊天室中其他用户所发送的诸如语音信息等媒体数据,并且可以通过该媒体工具包mediasdk发送媒体数据,使得该聊天室中的各个用户可以接收到登录该客户端的用户所发送的媒体数据。需要说明的是,媒体工具包mediasdk可以集成安装在客户端中,如可以安装在作为客户端的移动设备中,可以负责语音通话。媒体工具包mediasdk在接收到媒体数据后,可以基于该媒体数据携带的参数信息确定该媒体数据是由哪个开麦用户发送的,并可产生对应的语音状态推送信息,传输给客户端,使得客户端可依据该语音状态推送信息确定媒体工具包是否接收到聊天室的媒体数据;若媒体工具包没有接收到聊天室的媒体数据,则可以确定该聊天室中的开麦用户没有说话,正处于静音状态,随后可以获取当前时间,以基于当前时间确定出开麦用户对应的静音时长。若媒体工具接收到聊天室的媒体数据,则确定发送该媒体数据的用户在该聊天室中说话,该聊天室正处在用户说话状态,并且可以确定该聊天室中的哪一个开麦用户说话。

进一步而言,在聊天室中包含了两个或两个以上的开麦用户的情况下,本发明实施例可以通过媒体工具包mediasdk的语音状态推送信息,确定出媒体工具包mediasdk接收哪些开麦用户所发送的媒体数据,亦即可以确定出每一个开麦用户对应的静音时长。可选的,上述依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长,还包括:若所述媒体工具包接收到媒体数据,则判断所述媒体工具包接收到的媒体数据是否包含所述开麦用户对应的媒体数据;若所述媒体工具包接收到的媒体数据不包含所述开麦用户对应的媒体数据,则基于当前时间确定所述开麦用户对应的静音时长。

具体而言,本发明实施例在确定出媒体工具包接收到媒体数据后,可以根据语音状态信息确定该媒体工具包接收到的媒体数据是由哪一个开麦用户发送的,进而可以判断出媒体工具包接收到的媒体数据包含哪些开麦用户发送的媒体数据,并可确定出媒体工具包接收到的媒体数据不包含哪些开麦用户发送的媒体数据,即可确定哪些开麦用户没有说话和没有发送媒体数据。若某一个开麦用户媒体发送媒体数据,则可以确定该开麦用户没有说话,进而可以记录当前时间,以基于记录的时间确定出该开麦用户对应的静音时长。

步骤130,若所述静音时长超过预设时长阈值,则向所述服务器发送所述开麦用户存在语音异常的信息。

本实施例中,在确定出开麦用户对应的静音时长后,可以将该开麦用户对应的静音时长与预设时长阈值进行比较,以在静音时长超过预设时长阈值时依据该开麦用户对应的标识信息确定出该开麦用户存在语音异常的信息,并上报给服务器,使得服务器可以依据该该开麦用户存在语音异常的信息进行分析、告警。其中,开麦用户对应的标识信息可以用于确定该开麦用户是属于哪一个聊天室中的用户,如可以包括用户唯一身份证明(useridentification,uid)、客户端ip地址、无声音麦位的uid等,本实施例对此不作具体限制。

具体的,服务器在接收到开麦用户存在语音异常的信息后,可以将该开麦用户存在语音异常的信息作为聊天室中的语音异常信息,随后可以根据该语音异常信息进行分析,如可以对聊天室的语音异常信息进行汇总和分析,以在语音异常信息的数量超过预设告警量时产生该聊天室的告警信息,并可根据预先配置方式将告警信息发送出去,如可以采用邮件或企业在线沟通软件等方式发出告警信息等,本实施例对此不作具体限制。其中,语音异常信息可以用于确定聊天室中的语音异常情况以及是否需要对该语音异常情况进行告警,具体可以包括用户唯一身份证明(useridentification,uid)、媒体服务器地址、客户端ip地址、无声音麦位的uid、聊天室的麦上用户、设备特征信息等其中一种或多种信息,本实施例对此不作具体限制。设备特征信息可以用于表示聊天室中用户所使用的设备类型,如可以是设备型号、设备标识等信息。预设时长阈值可以是指预先针对无声音告警设置的一个时长,如可以设置为10秒或12秒等,本实施例对此不作限制。

可见,本发明实施例中的客户端可以根据服务器发送的麦克风信息确定出该聊天室中的开麦用户,并可根据该聊天室对应的语音状态信息确定出开麦用户对应的静音时长,从而可在静音时长超过预设时长阈值时向服务器发送所述开麦用户存在语音异常的信息,使得服务器可以依据该开麦用户存在语音异常的信息确定出聊天室中的语音异常情况,达到对聊天室进行语音异常检测的目的。

本实施例中,可选的,发送麦克风信息的服务器可以是信令服务器。客户端在进入聊天室时,可以通过该信令服务器与媒体服务器建立连接,从而可以通过媒体服务器接收聊天室中产生的媒体数据,如接收开麦用户在该聊天室中说话所产生的语音数据包。进一步的,本发明实施例中客户端接收到的麦克风信息具体可以包括麦位推送信息和麦克风状态信息。上述依据服务器发送的麦克风信息,确定所述聊天室中的开麦用户,具体可以包括:依据所述麦位推送信息确定所述聊天室中的各麦上用户;依据所述麦克风状态信息确定各麦上用户的麦克风状态;将麦克风状态为开麦状态的麦上用户确定为所述聊天室中的开麦用户。

具体而言,客户端在进入聊天室后,可以接收信令服务器针对该聊天室发送的麦位推送信息和麦克风状态信息,从而可以根据接收到的麦位推送信息确定其进入的聊天室中各个麦上用户,如可以根据该麦位推送信息确定出该聊天室中的麦克风位置,随后可以基于该麦克风位置确定出进入该聊天室的用户,以作为该聊天室中的麦上用户,并可麦克风状态信息确定出该聊天室中各个麦上用户所使用的麦克风的开闭状态,即确定该聊天室中各麦上用户的麦克风状态,随后可以将麦克风状态为开麦状态的麦上用户确定为该聊天室中的开麦用户,即可将该聊天室中开启了麦克风的用户确定为开麦用户。

在确定出开麦用户后,本实施例可以通过获取媒体工具包mediasdk语音状态推送信息,作为聊天室对应的语音状态信息,以基于该语音状态信息确定媒体工具包是否接收到媒体数据,从而可以确定出开麦用户是否有发送媒体数据,进而可以在开麦用户没有发送媒体数据时确定该开麦用户没有在聊天室说话,并可记录当前的系统时间,以确定出该开麦用户对应的静音时长,以及在该静音时长超过预设时长阈值时,上报开麦用户存在语音异常的信息给服务器,以触发服务器依据该开麦用户存在语音异常的信息全面分析聊天室中的语音异常问题,产生对应的告警信息,达到对聊天室中无声音检测告警的目的。

当然,本发明实施例中的客户端在进入聊天室后,可以向信令服务器发送本地麦状态信息,使得服务器可以该本地麦状态信息确定出该客户端的麦克风状态。可选的,本发明实施例在依据服务器发送的麦克风信息确定所述聊天室中的开麦用户之前,还可以包括:向所述信令服务器发送本地麦状态信息。其中,信令服务器用于依据所述本地麦状态信息确定所述聊天室的麦克风信息。本地麦状态信息可以表示客户端本地麦克风状态,如在客户端打开麦克风的情况下,信令服务器可以依据该客户端上传的本地麦状态信息确定该客户端的麦克风状态为开麦状态;同理,在客户端关闭麦克风的情况下,信令服务器可以依据该客户端上传的本地麦状态信息确定该客户端的麦克风状态为闭麦状态等。

在具体实现中,客户端在进入聊天室时,可以向信令服务器发送请求,以请求该信令服务器为其分配媒体服务器的ip地址,从而可以根据分配到的ip地址与媒体服务器建立连接。可选的,本发明实施例提供的语音检测方法还可以包括:向所述信令服务器发送地址分配请求;接收所述信令服务器针对所述地址分配请求返回的媒体服务器地址信息;依据所述媒体服务器地址信息,调用媒体工具包与媒体服务器建立连接,其中,所述媒体服务器用于转发所述聊天室中产生的媒体数据。

参照图2,示出了本发明一个可选实施例中的一种聊天室的语音检测方法的步骤流程示意图。该聊天室的语音检测方法可以应用于客户端,且该客户端可以配置有媒体工具包。具体的,该聊天室的语音检测方法可以包括如下步骤:

步骤210,向信令服务器发送地址分配请求。

其中,地址分配请求可以用于触发信令服务器分配媒体服务器地址给客户端,使得客户端可以依据分配到媒体服务器地址与媒体服务器进行连接。

步骤220,接收所述信令服务器针对所述地址分配请求返回的媒体服务器地址信息。

步骤230,依据所述媒体服务器地址信息,调用媒体工具包与媒体服务器建立连接。

具体而言,客户端在接收到信令服务器针对所述地址分配请求返回的媒体服务器地址信息后,可以根据该媒体服务器地址信息与媒体服务器建立连接关系,以通过该媒体服务器传输聊天室中产生的媒体数据,如接收该聊天室中其他客户端所发送的语音数据、通过该媒体服务器向聊天室中的其他客户端广播发送语音数据等。其中,所述媒体服务器用于转发所述聊天室中产生的媒体数据。

例如,在进入语音房间时,作为客户端的app可以向信令服务器请求分配媒体服务器的ip地址,随后媒体工具包mediasdk可以根据分配到的媒体服务器的ip地址发起连接。连接上媒体服务器后,媒体工具包mediasd可以对语音进行录制、压缩和编码,生成语音包,随后发送语音包。信令服务器在完成数据分配后,即在分配媒体服务器的ip地址后,可以在该ip地址对应的媒体服务器进行语音包下发,使得聊天室的另一客户端可以收到语音包,且另一客户端收到语音包后可以进行解码和播放。

步骤240,向所述信令服务器发送本地麦状态信息。

具体而言,客户端在进入聊天室后,可以向信令服务器上报本地麦状态信息。信令服务器在接收客户端上报的本地麦状态信息后可以确定该客户端进入了哪一个聊天室,并可对该本地麦状态信息进行记录,以作为该客户端在聊天室中的麦克风状态信息。此外,信令服务器可以按照预设推送规则,如可以预设推送规则中的推送时间间隔,向客户端推送其所进入的聊天室的麦克风信息,使得客户端可以接收到该信令服务器针对聊天室发送的麦克风信息。

步骤250,接收信令服务器发送的麦克风信息。

本发明实施例中,麦克风信息可以包括麦位推送信息和麦克风状态信息。客户端在接收到麦位推送信息后,可以依据所述麦位推送信息确定所述聊天室中的麦克风位置,以基于该麦克风位置确定出聊天室中的各麦上用户,并可依据接收到的麦克风状态信息确定各麦上用户的麦克风状态,以将麦克风状态为开麦状态的麦上用户确定为所述聊天室中的开麦用户。

可选的,本发明实施例的客户端在进入聊天室后,可以向信令服务器发送麦位请求信息,以主动从信令服务器中拉取其所进入的聊天室中的麦位信息,从而可以依据拉取到的麦位信息确定该聊天室中各个麦上用户所使用的麦克风位置和该聊天室中的各个麦上用户。进一步的,本实施例在依据服务器发送的麦克风信息确定所述聊天室中的开麦用户之前,还可以包括:向所述信令服务器发送麦位请求信息;接收所述信令服务器针对所述麦位请求信息反馈的麦位信息;依据所述麦位信息记录所述聊天室中的麦上用户。

具体而言,信令服务器在接收到客户端发送的麦位请求信息后,可以确定该客户端进入了哪一个聊天室,随后可将该聊天室所对应的麦位信息发送给客户端。客户端在接收到麦位信息后,可以依据该麦位信息确定出其所进入的聊天室中的各个麦上用户,并可记录在本地,以便后续可以根据信令服务器发送的麦克风状态信息确定该聊天室中各个麦上用户的麦克风状态。

当然,本发明实施例中的客户端也可以接收信令服务器主动推送的麦位信息,并可以根据信令服务器主动推送的麦位信息对本地中记录的麦上用户进行更新。可选的,上述依据所述麦位推送信息确定所述聊天室中的各麦上用户,具体可以包括:基于所述麦位推送信息,对本地记录的所述聊天室中的麦上用户进行更新。

进一步的,本发明实施例中的客户端在一定时间内没有接收到信令服务器针对聊天室发送的麦克风状态信息时,可以主动从信令服务器中拉取麦克风状态信息,以基于拉取到的麦克风状态信息确定聊天室中各麦上用户的麦克风状态。可选的,本发明实施例的聊天室的语音检测方法还可以包括:确定所述麦克风状态信息对应的等待时长;当所述等待时长达到等待时长阈值,从所述信令服务器中拉取麦克风状态信息;基于拉取到的麦克风状态信息确定所述聊天室中各麦上用户的麦克风状态。其中,麦克风状态信息对应的等待时长可以表示等待接收信令服务器发送的麦克风状态信息的时长,如客户端在进入聊天室12秒后再接收到信令服务器发送的麦克风状态信息时,该麦克风状态信息对应的等待时长为12秒。

具体而言,客户端在进入聊天室后,在未接收到信令服务器发送的麦克风状态信息的情况下,可以记录等待接收到麦克风状态信息的时间,以确定该麦克风状态信息对应的等待时长,并可将该等待时长与预先设置的等待时长阈值进行比较,以确定该等待时长是否达到等待时长阈值。若等待时长达到等待时长阈值,则可以主动从信令服务器中拉取麦克风状态信息,以基于拉取到的麦克风状态信息确定聊天室中各麦上用户的麦克风状态,从而可以确定出聊天室中的开麦用户。若等待时长未达到等待时长阈值,则可以继续等待信令服务器发送的麦克风状态信息。此外,客户端在接收到信令服务器发送的麦克风状态信息后,可以对该麦克风状态信息对应的等待时长进行清零,以便后续记录等待信令服务器下一次发送的麦克风状态信息对应的等待时长。

步骤260,依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长。

具体而言,本发明实施例中的客户端可以获取媒体工具包的语音状态推送信息,以作为聊天室对应的语音状态信息,随后可以该语音状态信息确定出该聊天室中的开麦用户是否有发送媒体数据,进而可以在开麦用户没有发送媒体数据时确定该开麦用户没有说话,并确定该开麦用户对应的静音时长。

步骤270,在静音时长超过预设时长阈值时,获取所述开麦用户对应的标识信息,并将所述标识信息作为所述开麦用户存在语音异常的信息。

在实际处理中,本实施例在确定出开麦用户对应的静音时长超过预设时长阈值时,可以获取该开麦用户对应的标识信息,并可将获取到的标识信息作为开麦用户存在语音异常的信息,以依据该开麦用户存在语音异常信息确定出聊天室中语音异常的情况。其中,开麦用户对应的标识信息包含以下至少一项:客户端网际协议地址信息、媒体服务器地址信息、麦位唯一标识符信息、用户唯一标识符信息和设备特征信息。

需要说明的是,客户端网际协议地址信息可以表示客户端的ip地址;媒体服务器地址信息可以表示客户端所连接的媒体服务器地址,可以用户确定该客户端中的媒体工具包与哪个媒体服务器连接通信;麦位唯一标识符信息可以表示用户的麦克风位置,如可以是用户的麦克风ip地址等;用户唯一标识符信息可以表示用户的唯一标识符,如可以是开麦用户的用户名、用户帐号等;设备特征信息可以表示设备特征,如可以是设备类型、设备型号等。

步骤280,向所述服务器发送所述开麦用户存在语音异常的信息。

具体的,本实施例中的客户端在确定出开麦用户存在语音异常的信息后,可将该开麦用户存在语音异常的信息作为聊天室中的语言异常信息,并上传给服务器,从而使得服务器可以依据该语音异常信息全面分析出聊天室语音异常的原因,提高检测准确性。

综上,本实施例利用聊天室中的语音状态信息进行检测,不同于现有技术中采用服务器的丢包率进行检测,排除了网络传输的因素,提高了检测准确性,同时解决了现有技术中由于服务器故障检测不到丢包率导致对聊天室检测告警能力丢失的问题,能够全面反映出聊天室语音故障问题,减少人工干预步骤,提高用户体验。

在上述实施例的基础上,本发明实施例还提供另一种聊天室的语音检测方法,应用在服务器。如图3所示,应用在服务器侧的聊天室的语音检测方法,具体可以包括如下步骤:

步骤310,向所述客户端发送麦克风信息,所述麦克风信息用于确定聊天室中的开麦用户。

具体而言,客户端可以与信令服务器建立连接,以进入聊天室。例如,如图4所示,客户端可以向信令服务器发送地址分配请求,以进入多人语音通话房间。信令服务器可以向该客户端反馈媒体服务器地址信息,使得该客户端可以依据该媒体服务器地址信息连接媒体服务器,进入多人语音通话房间。

进一步的,本发明实施例的聊天室的语音检测方法,还可以包括:接收所述客户端发送的地址分配请求;针对所述地址分配请求,向所述客户端发送媒体服务器地址信息,其中,所述客户端用于依据所述媒体服务器地址信息调用媒体工具包与媒体服务器建立连接,所述媒体服务器用于转发所述聊天室中产生的媒体数据。

在具体实现中,信令服务器可以确定该客户端进入了哪一个聊天室,并可根据客户端上报的本地麦状态信息进行记录,以形成聊天室对应的麦克风信息。在客户端进入聊天室后,信令服务器可以广播发送聊天室对应的麦克风信息,使得客户端可以接收该麦克风信息。

步骤320,接收所述客户端发送的开麦用户存在语音异常的信息,所述开麦用户存在语音异常的信息为所述客户端在所述开麦用户对应的静音时长超过预设时长阈值时发送的。

客户端在接收到麦克风信息后,可以依据该麦克风信息确定其所进入的聊天室中的开麦用户,并可依据该聊天室对应的语音状态信息,确定开麦用户对应的静音时长,以在静音时长超过预设时长阈值时向服务器发送开麦用户存在语音异常的信息,使得服务器可以接收到该开麦用户存在语音异常的信息。

步骤330,依据开麦用户存在语音异常的信息发送告警信息。

服务器在接收到开麦用户存在语音异常的信息后,可以将该开麦用户存在语音异常的信息作为该开麦用户所在聊天室的语音异常信息,随后可以根据该语音异常信息进行分析,如可以对聊天室的语音异常信息进行汇总和分析,以在语音异常信息的数量超过预设告警量时产生该聊天室的告警信息,并可根据预先配置方式将告警信息发送出去,如可以采用邮件或企业在线沟通软件等方式发出告警信息等,本实施例对此不作具体限制。

进一步而言,本发明实施例中所提供的另一种聊天室的语音检测方法具体可应用于信令服务器,所述麦克风信息包括麦位推送信息和麦克风状态信息,所述麦位推送信息用于确定所述聊天室中的各麦上用户,所述麦克风状态信息用于确定各麦上用户的麦克风状态,所述开麦用户为麦克风状态为开麦状态的麦上用户。

可选的,本实施提供的另一种聊天室的语音检测方法,还可以包括:接收所述客户端发送的麦位请求信息;针对所述麦位请求信息,向所述客户端反馈所述聊天室的麦位信息。例如,如图4所示,客户端在进入多人语音通话房间后,可以向服务器发送麦位请求信息,以全量拉取一次麦位信息。服务器在接收到麦位请求信息,可以针对该麦位请求信息向客户端发送该客户端所进入的聊天室的麦位信息,从而使得客户端可以依据该麦位信息确定出其所进入的聊天室中的麦上用户。

此外,客户端也可以上报自己的开闭麦状态,以让其所进入的聊天室中的其他客户端能够知晓自己的状态。如图4所示,客户端可以向服务器发送的本地麦状态信息,即上报客户端自己的开闭麦状态,使得服务器可以依据客户端上报的开闭麦状态确定聊天室的麦克风信息。可选的,本实施提供的另一种聊天室的语音检测方法,还可以包括:接收所述客户端发送的本地麦状态信息;依据所述本地麦状态信息确定所述聊天室的麦克风信息。

本实施例中,客户端在从服务器拉取一次麦位信息后,可以与服务器订阅麦位信息以及开闭麦状态的推送(push)广播。如图4所示,可以接收服务器推送的麦位信息和麦克风状态信息。客户端在收到麦位信息和/或麦克风状态信息后,可以根据接收到的麦位信息和/或麦克风状态信更新本地记录的情况,如根据接收到的麦位信息对本地记录的聊天室中的麦上用户进行更新等。

集成在客户端的媒体工具包sdk在收到媒体数据后,可以产生对应的语音状态推送信息,以通知客户端当前说话状态为开麦用户在说话的状态,否则可以通知客户端当前说话状态为开麦用户不在说话的状态。换言而之,客户端可以依据媒体工具包的语音状态推送信息进行无声音检测,以确定开麦用户的说话状态和开麦用户对应的静音时长。若开麦用户对应的静音时长超过预设时长阈值10秒,即在有用户开麦大于10秒但是却一直没有声音时,客户端可以记录该多人语音通话房间中所有麦上用户以及无声音的开麦用户,生成对应的语音异常信息,并上报语音异常信息进行告警。

例如,如图4所示,客户端可以在进房12秒时对开麦用户进行一次无声音检测,如在没有接收到信令服务器推送的麦克风状态信息的情况下,向该信令服务器发送拉取请求,以主动从该信令服务器中拉取麦克风状态信息进行无声音检测;如果有人开麦大于10秒但是却一直没有声音,可以记录下聊天室中的所有麦上用户以及无声音的麦上用户,作为语音异常信息,并上报给服务器进行告警,即上报语音异常信息进行告警。如果上报给服务器的语音异常信息没有触发告警条件,则客户端可以在之后每10分钟进行一次检测,即向无声音告警时间判定仍可以为10秒,本示例对此不作具体限制。

具体的,服务器在接收到语音异常信息后,可以对该语音异常信息进行汇总和分析,如基于语音异常信息分析出聊天室无声检测对应的异常告警次数,并在该异常告警次数超过预设告警平均次数时发出告警信息,实现对聊天室的无声检测和告警;又如可以对客户端上报的语音异常信息进行跟进,以确定导致聊天室无声音的具体问题等。

通过本发明实施例,在客户端进入聊天室后,可以依据聊天室对应的语音状态信息确定出开麦用户对应的静音时长,并可在静音时长超过预设时长阈值时上报该聊天室的语音异常信息给服务器,使得服务器可以依据该语音异常信息进行汇总和分析,确定出聊天室对应的异常告警次数,进而可以在异常告警次数异常升高时,发送告警信息,以对聊天室无声音的异常进行告警。可见,本发明实施例在服务器对聊天室的告警次数进行控制,即可实现对聊天室的无声音的检测告警,从而解决现有技术中由于服务器故障检测不到丢包率导致对聊天室检测告警能力丢失的问题,能够排除网络传输因素的影响,能够全面反映出聊天室语音故障问题,提高检测准确性。

例如,信令服务器可以基于客户端上报的语音异常信息找出告警量最大的房间,随后可根据告警量最大的房间对应的语音异常信息分析和定位具体问题,从而能够进一步校准和排查问题,提高检测准确性,确保用户在聊天室进行在线聊天的语音效果,提高用户体验。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。

参照图5,示出了本发明实施例中的一种聊天室的语音检测装置实施例的结构方框框示意图,该聊天室的语音检测装置具体可以包括如下模块:

开麦用户确定模块510,用于依据服务器发送的麦克风信息,确定所述聊天室中的开麦用户;

静音时长确定模块520,用于依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长;

语音异常发送模块530,用于在所述静音时长超过预设时长阈值时,依据所述开麦用户对应的标识信息确定所述聊天室的语音异常信息,并将所述语音异常信息发送给所述服务器。

本实施例中,服务器用于依据所述语音异常信息发送告警信息。可选地,该服务器可以是信令服务器。开麦用户确定模块510可以包括如下子模块:

接收子模块,用于接收信令服务器针对所述聊天室发送的麦克风信息,所述麦克风信息包括麦位推送信息和麦克风状态信息;

麦上用户确定子模块,用于依据所述麦位推送信息确定所述聊天室中的各麦上用户;

麦克风状态确定子模块,用于依据所述麦克风状态信息确定各麦上用户的麦克风状态;

开麦用户确定子模块,用于将麦克风状态为开麦状态的麦上用户确定为所述聊天室中的开麦用户。

在上述实施例的基础上,可选地,本实施例的聊天室的语音检测装置还可以包括如下模块:

麦位请求发送模块,用于向所述信令服务器发送麦位请求信息;

麦位信息接收模块,用于接收所述信令服务器针对所述麦位请求信息反馈的麦位信息。

麦上用户记录模块,用于依据所述麦位信息记录所述聊天室中的麦上用户。

上述麦上用户确定子模块具体可以用于基于所述麦位推送信息,对本地记录的所述聊天室中的麦上用户进行更新。

可选的,本实施例的聊天室的语音检测装置还可以包括:本地麦状态发送模块。该本地麦状态发送模块,用于向所述信令服务器发送本地麦状态信息。其中,信令服务器用于依据所述本地麦状态信息确定所述聊天室的麦克风信息。

在本发明的一个可选实施例中,静音时长确定模块520可以包括如下子模块:

语音状态信息子模块,用于将媒体工具包的语音状态推送信息作为所述聊天室对应的语音状态信息;

媒体数据确实子模块,用于基于所述语音状态信息确定所述媒体工具包是否接收到媒体数据;

静音时长确定子模块,用于在所述媒体工具包没有接收到媒体数据时,基于当前时间确定所述开麦用户对应的静音时长。

在本发明的一个可选实施例中,静音时长确定模块520还可以包括如下子模块:媒体数据判断子模块。该媒体数据判断子模块,用于在所述媒体工具包接收到媒体数据时,判断所述媒体工具包接收到的媒体数据是否包含所述开麦用户对应的媒体数据。静音时长确定子模块,还用于在所述媒体工具包接收到的媒体数据不包含所述开麦用户对应的媒体数据时,基于当前时间确定所述开麦用户对应的静音时长。

本发明实施例中,聊天室的语音检测装置还可以包括如下模块:

请求发送模块,用于向所述信令服务器发送地址分配请求;

服务器地址接收模块,用于接收所述信令服务器针对所述地址分配请求返回的媒体服务器地址信息;

连接模块,用于依据所述媒体服务器地址信息,调用媒体工具包与媒体服务器建立连接。其中,所述媒体服务器用于转发所述聊天室中产生的媒体数据。

进一步的,本发明实施例中的聊天室的语音检测装置还可以包括如下模块:

等待时长确定模块,用于确定所述麦克风状态信息对应的等待时长;

信息拉取模块,用于当所述等待时长达到等待时长阈值,从所述信令服务器中拉取麦克风状态信息。

麦克风状态确定子模块,还用于基于拉取到的麦克风状态信息确定所述聊天室中各麦上用户的麦克风状态。

在本发明实施例中,语音异常发送模块530可以包括如下子模块:

标识信息获取子模块,用于获取所述开麦用户对应的标识信息,所述标识信息包含以下至少一项:客户端网际协议地址信息、媒体服务器地址信息、麦位唯一标识符信息、用户唯一标识符信息和设备特征信息;

语音异常信息确定子模块,用于将所述标识信息确定为所述聊天室的语音异常信息。

需要说明的是,上述提供的聊天室的语音检测装置可应用于客户端中,可以用于执行上述方法实施例中客户端所执行的方法步骤,具备执行方法相应的功能和有益效果。

在具体实现中,上述聊天室的语音检测装置可以集成在移动设备中。该移动设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,如移动设备可以是平板电脑、手机、个人数字助理、游戏控制台等。

进一步的,本发明实施例还提供一种移动设备,包括:处理器和存储器。存储器中存储有至少一条指令,且指令由所述处理器执行,使得所述移动设备执行如上述方法实施例中客户端所执行的聊天室的语音检测方法。

本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由移动设备的处理器执行时,使得移动设备能够执行如上述方法实施例所述的聊天室的语音检测方法。示例性的,该聊天室的语音检测方法包括:在进入聊天室后,依据服务器发送的麦克风信息,确定所述聊天室中的开麦用户;依据所述聊天室对应的语音状态信息,确定所述开麦用户对应的静音时长;若所述静音时长超过预设时长阈值,则依据所述开麦用户对应的标识信息确定所述聊天室的语音异常信息,并将所述语音异常信息发送给所述服务器。所述服务器用于依据所述语音异常信息发送告警信息。

本发明实施例还提供一种聊天室的语音检测系统,包括:移动设备以及与所述移动设备交互的服务器。该服务器包括至少能够实现上述方法实施例中服务器对应功能的服务器,以及可以依据所述移动设备发送的开麦用户存在语音异常的信息,发送告警信息。

在具体实现中,聊天室的语音检测系统中的服务器可以用于执行上述方法实施例中服务器所执行的聊天室的语音检测方法的步骤,如所述服务器用于向所述移动设备发送麦克风信息,并依据所述移动设备发送的开麦用户存在语音异常的信息,发送告警信息。此外,聊天室的语音检测系统中的移动设备可以用于执行上述方法实施例中客户端所执行的聊天室的语音检测方法的步骤。

在一种可选实施方式中,本发明实施例中的服务器包括信令服务器,该信令服务器具体可以用于依据所述移动设备发送的本地麦状态信息确定聊天室的麦克风信息。

进一步的,与移动设备交互的服务器还包括媒体服务器。所述移动设备中配置有用于负责语音信息通讯的媒体工具包;所述媒体服务器用于转发聊天室中产生的媒体数据,所述聊天室中产生的媒体数据包含所述移动设备通过所述媒体工具包发送和/或接收的媒体数据。

参照图6,示出了本发明实施例中的另一种聊天室的语音检测装置实施例的结构方框框示意图,该聊天室的语音检测装置可应用于服务器,如应用于信令服务器,具体可以包括如下模块:

麦克风信息发送模块610,用于向所述客户端发送麦克风信息,所述麦克风信息用于确定所述聊天室中的开麦用户;

语音异常接收模块620,用于接收所述客户端发送的开麦用户存在语音异常的信息,所述开麦用户存在语音异常的信息为所述客户端在所述开麦用户对应的静音时长超过预设时长阈值时发送的;

告警信息发送模块630,用于依据所述开麦用户存在语音异常的信息发送告警信息。

在本发明的一个可选实施中,上述聊天室的语音检测装置还可以包括如下模块:

麦位请求接收模块,用于接收所述客户端发送的麦位请求信息;

麦位信息反馈模块,用于针对所述麦位请求信息,向所述客户端反馈所述聊天室的麦位信息。

在本发明的一个可选实施中,聊天室的语音检测装置还可以包括如下模块:

麦状态信息接收模块,用于接收所述客户端发送的本地麦状态信息;

麦克风信息确定模块,用于依据所述本地麦状态信息确定所述聊天室的麦克风信息。

进一步的,本发明实施例中的聊天室的语音检测装置还可以包括如下模块:

地址分配请求接收模块,用于接收所述客户端发送的地址分配请求;

服务器地址发送模块,用于针对所述地址分配请求,向所述客户端发送媒体服务器地址信息。其中,所述客户端用于依据所述媒体服务器地址信息调用媒体工具包与媒体服务器建立连接,所述媒体服务器用于转发所述聊天室中产生的媒体数据。

进一步的,本发明实施例还提供一种服务器,包括:处理器和存储器。存储器中存储有至少一条指令,且指令由所述处理器执行,使得所述服务器执行如上述方法实施例中服务器所执行的聊天室的语音检测方法。

本发明实施例还提供一种计算机可读存储介质,所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如上述方法实施例所述的聊天室的语音检测方法。示例性的,该聊天室的语音检测方法包括:向所述客户端发送麦克风信息,所述麦克风信息用于确定聊天室中的开麦用户;接收所述客户端发送的开麦用户存在语音异常的信息,所述开麦用户存在语音异常的信息为所述客户端在所述开麦用户对应的静音时长超过预设时长阈值时发送的;依据所述开麦用户存在语音异常的信息发送告警信息。

需要说明的是,对于装置、设备、存储介质以及系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的聊天室的语音检测方法。

值得注意的是,上述聊天室的语音检测装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。

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