多终端语音通话的方法及装置与流程

文档序号:15466400发布日期:2018-09-18 19:24阅读:307来源:国知局

本发明涉及通信技术领域,尤其涉及一种多终端语音通话的方法及装置。



背景技术:

随着手机、平板电脑等终端设备的快速发展,终端设备的功能以及应用场景也越来越多。例如,使用终端设备可以进行多人语音通话,可以应用于多人电话会议、多人游戏等具体应用场景中。

在使用终端设备进行多人语音通话时,一般需要将多个终端设备进行联机。但是,若是进行联机的终端设备中存在距离很近的两个或者多个终端设备时,例如,如图1所示,终端设备A和终端设备B距离很近,当用户对着终端设备A讲话时,用户的讲话内容会被终端设备A和终端设备B均采集到,并发送出去,因此,即终端设备A又会接收到自己讲话的内容,导致通话内容比较混乱。并且,在终端设备A和终端设备B播放该讲话内容时,由于终端设备A和终端设备B距离很近,播放的内容可能会被自己和对方再次采集并发送出去,从而可能引起啸叫。

因此,亟需提出一种多终端语音通话的方法,以解决多终端语音通话中由于存在距离很近的终端设备而导致通话内容比较混乱,并且可能会引起啸叫的问题。



技术实现要素:

本发明实施例的目的是提供一种多终端语音通话的方法及装置,以解决多终端语音通话中由于存在距离很近的终端设备而导致通话内容比较混乱,并且可能会引起啸叫的问题。

为解决上述技术问题,本发明实施例是这样实现的:

第一方面,本发明实施例提供了一种多终端语音通话的方法,应用于第一终端设备,所述方法包括:

第一终端设备接收到对端设备发送的第一语音数据后,检测所述对端设备是否属于第二终端设备;其中,所述第一语音数据中携带有所述第一语音数据的采集时间戳;所述第二终端设备与所述第一终端设备满足预设条件,所述预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;

若是,则所述第一终端设备根据所述采集时间戳、所述第一语音数据和存储的语音数据,控制所述第一终端设备的扬声器关闭或者丢弃所述第一语音数据;其中,所述存储的语音数据为预设时间段内第一终端设备采集的语音数据。

第二方面,本发明实施例还提供了一种多终端语音通话的装置,应用于第一终端设备,所述装置包括:

第一检测模块,用于接收到对端设备发送的第一语音数据后,检测所述对端设备是否属于第二终端设备;其中,所述第一语音数据中携带有所述第一语音数据的采集时间戳;所述第二终端设备与所述第一终端设备满足预设条件,所述预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;

第一控制模块,用于若所述对端设备属于第二终端设备,则根据所述采集时间戳、所述第一语音数据和存储的语音数据,控制所述第一终端设备的扬声器关闭或者丢弃所述第一语音数据;其中,所述存储的语音数据为预设时间段内所述终端设备采集的语音数据。

第三方面,本发明实施例还提供了一种终端设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的多终端语音通话的方法的步骤。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的多终端语音通话的方法的步骤。

在本发明实施例中,第一终端设备接收到的对端设备发送的第一语音数据中携带该语音数据的采集时间戳,并在接收到第一语音数据后,检测该对端设备是否属于第二终端设备;其中,第二终端设备与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;若上述对端设备属于第二终端设备,则根据接收到的语音数据的采集时间戳、语音数据以及终端设备存储该终端设备采集的存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;本发明实施例提供的方案,通过在发送的第一语音数据中携带该语音数据的采集时间戳,能够避免使用扬声器播放对端设备采集的该第一终端设备用户的语音数据,从而避免了多终端语音通话内容混乱以及相位相同的声音叠加的情况的发生,从而可以消除啸叫。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是终端设备A和终端设备B之间语音数据的采集和传输示意图。

图2是本发明的一个实施例中一种多终端语音通话的方法的第一种方法流程图。

图3是本发明的一个实施例中一种多终端语音通话的方法中,多个终端设备的语音传输示意图。

图4是本发明的一个实施例中一种多终端语音通话的方法的第二种方法流程图。

图5是本发明的一个实施例中一种多终端语音通话的装置的结构示意图。

图6是本发明的一个实施例中终端设备的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种多终端语音通话的方法,该方法应用于终端设备,本发明实施例提供的方法的具体应用场景可以是:多人语音聊天、多人电话会议、多人游戏时语音通话等。在本发明实施例中,通过在传输的语音数据中携带该语音数据对应的采集时间戳,并将该语音数据与终端设备存储的其本身采集的语音数据进行比对,确定对接收到的语音数据的进行丢弃处理或者以非外放的形式播放,以此,可以避免播放对端设备采集的本身对应用户的讲话内容,进而避免多终端语音通话内容混乱以及相位相同的声音叠加的情况的发生,从而可以消除啸叫。

图2为本发明实施例提供的多终端语音通话的方法的第一种方法流程图,该方法应用于第一终端设备,图2所示的方法,至少包括如下步骤:

S102,第一终端设备接收到对端设备发送的第一语音数据后,检测对端设备是否属于第二终端设备;其中,上述第一语音数据中携带有第一语音数据的采集时间戳;第二终端设备与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态。

其中,上述第二终端设备为与第一终端设备进行语音通话的终端设备,上述扬声器处于开启状态指的是第一终端设备和第二终端设备的扬声器均处于开启状态。

本发明实施例提供的方法的执行主体为第一终端设备,其中,第一终端设备为进行语音通话的多个终端设备中的任意一个终端设备。例如,在一次多终端设备语音通话中,进行语音通话的终端设备分别记为终端设备A、终端设备B、终端设备C和终端设备D,则上述第一终端设备可以是终端设备A、终端设备B、终端设备C和终端设备D中的任意一个。

上述对端设备则指的是进行语音通话的多个终端设备中除第一终端设备之外的其他的终端设备。继续沿用上述举例,则在上述举例中,若第一终端设备为终端设备A,则对端设备为终端设备B、终端设备C和终端设备D。

在采用本发明实施例提供的方法进行多终端语音通话时,首先需要将进行语音通话的多个终端设备建立通信连接,并且,在建立通信连接的过程中,触发各个终端设备将其当前所在的地理位置信息上报给服务器。

其中,上述服务器指的是多个终端设备实现语音通话时所使用的应用程序对应的服务器。例如,若多终端设备通过第一即时通讯软件进行语音通话,则上述服务器则为第一即时通讯软件所对应的服务器;若多终端设备在某项游戏中建立语音通话,则上述服务器则为该游戏所对应的服务器。

当多个终端设备建立通信连接后,各个终端设备开始采集其对应用户的语音数据,并将采集的语音数据通过网络发送给进行语音通话的其他的终端设备。

在本发明实施例中,上述步骤S102中,检测对端设备是否属于第二终端设备,可以通过检测第一终端设备与该对端设备之间的间隔距离是否小于或等于预设距离,以及对端设备的扬声器是否处于开启状态确定对端设备是否属于第二终端设备。

或者,在另外一种具体实施方式中,在建立多个终端设备的通信连接后,从多个终端设备中确定第一终端设备对应的第二终端设备列表。相应的,在上述步骤S102中,检测上述对端设备是否属于第二终端设备,包括:检测第二终端设备列表中是否存在上述对端设备。

在本发明实施例中,若在第二终端设备列表中存在上述对端设备,则说明向第一终端设备发送第一语音数据的对端设备属于第二终端设备;若在上述第二终端设备列表中不存在上述对端设备,则说明向第一终端设备发送第一语音数据的对端设备不属于第二终端设备。

其中,第一终端设备接收到的第一语音数据中携带有该对端设备的标识,这样,可以通过该对端设备的标识在第二终端设备列表中查找上述对端设备。该终端设备的标识可以是该终端设备的编码(identification,ID)等。

其中,上述第二终端设备列表中存储的各个终端设备与第一终端设备之间满足上述预设条件,即第二终端设备列表中存储的各个终端设备为可能对第一设备产生语音干扰的设备。

在本发明实施例中,可以由服务器确定上述第二终端设备列表,也可以由第一终端设备确定第二终端设备列表。

其中,上述预设距离一般指的是两个终端设备之间可能会产生语音干扰的最大距离,具体取值可以是5米、3米等。

例如,在一个多终端语音通话中,进行语音通话的终端设备记为终端设备A、终端设备B、终端设备C和终端设备D,终端设备A、终端设备B、终端设备C和终端设备D的扬声器均处于开启状态;终端设备A与终端设备B、终端设备C之间的距离均为3米,终端设备B和终端设备C之间的距离为2米,终端设备D与终端设备A、终端设备B和终端设备C之间的距离均在百米以上,因此,可以确定终端设备A、终端设备B和终端设备C可能互为干扰设备,即终端设备A对应的第二终端设备列表为终端设备B和终端设备C,终端设备B对应的第二终端设备列表为终端设备A和终端设备C,终端设备C对应的第二终端设备列表为终端设备A和终端设备B,终端设备D不存在对应的干扰设备。

其中,上述预设距离可以根据经验进行设定,还可以通过如下方式确定:

服务器控制进行语音通话的多个终端设备按照一定的时间间隔依次向其他终端设备发送内容相同的检测语音,当各个终端设备接收到检测语音后,通过扬声器将接收到的检测语音进行播放,然后根据各个终端设备采集到的扬声器播放的检测语音的信号幅度确定上述预设距离。

例如,在一个多终端语音通话中,将进行语音通话的终端设备分别记为终端设备A、终端设备B和终端设备C,服务器先控制终端设备A发送一个检测语音,该检测语音中携带有该检测语音的采集时间戳,当终端设备B和终端设备C接收到终端设备A发送的携带有时间戳信息的检测语音后,通过扬声器播放该检测语音,若是终端设备A、终端设备B和终端设备C之间的距离较近时,终端设备A、终端设备B和终端设备C的麦克风(microphone,MIC)均采集终端设备B和终端设备C通过扬声器播放的检测语音,然后各个终端设备确定其采集的检测语音的音量信号幅度;当终端设备B接收到终端设备A发送的检测语音后,向终端设备A和终端设备B发送一个携带有时间戳信息的检测语音,当终端设备A和终端设备B接收到该检测语音后,通过扬声器播放该检测语音,若是终端设备A、终端设备B和终端设备C之间的距离较近时,终端设备A、终端设备B和终端设备C的MIC均采集终端设备A和终端设备C通过扬声器播放的检测语音,然后各个终端设备确定其采集的检测语音的音量信号幅度;同样的,终端设备C接收到终端设备设备B发送的检测语音后,向终端设备A和终端设备B发送携带有时间戳信息的语音数据,当终端设备B和终端设备A接收到终端设备C发送的携带有时间戳信息的检测语音中,通过扬声器播放该检测语音,若是终端设备A、终端设备B和终端设备C之间的距离较近时,终端设备A、终端设备B和终端设备C的MIC均采集终端设备C和终端设备A通过扬声器播放的检测语音,然后各个终端设备确定其采集的检测语音的音量信号幅度;服务器根据将每次每个终端设备采集的检测语音的音量信号幅度和预设阈值进行比较,若是该终端设备采集的音量信号幅度大于预设阈值,则说明该终端设备可以采集到其他设备通过扬声器播放的检测语音,可以确定在当前距离下两个终端设备可以产生干扰,通过上述语音测试,确定出可以产生干扰的两个终端设备之间的距离,将该距离确定为上述预设距离。

在本发明实施例中,通过控制各个终端设备向外发送检测语音,以此确定上述预设距离,使得确定的预设距离更符合引起啸叫的距离,准确性较高。

在本发明实施例中,若是采用发送检测语音的方式确定上述预设距离,在进行语音通话的终端设备比较多的情况下,需要每个终端设备均向外发送一次检测语音,并且,每个终端设备均需要采集多次检测语音,操作比较复杂,因此,为了降低操作复杂度,同时兼顾确定结果的准确性,在本发明实施例中,还可以先通过各个终端设备的地理位置信息确定出位于每个终端设备周围预设范围内的终端设备,然后,再通过向外发送检测语音的方式确定上述预设距离。

在本发明实施例中,若是由第一终端设备确定上述预设距离,则具体包括如下步骤:

第一终端设备从与其进行语音通话的多个终端设备中确定位于其周围预设范围内的终端设备;第一终端设备获取其采集的检测语音的音量信号幅度;其中,上述检测语音通过第一终端设备及位于第一终端设备周围预设范围内的终端设备的扬声器播放的语音;第一终端设备根据上述音量信号幅度和预设阈值确定上述预设距离。

在该种实施方式中,第一终端设备先根据各个终端设备的地理位置信息确定位于其周围预设范围内的终端设备,然后由第一终端设备及位于第一终端设备周围预设范围内的终端设备按照一定的时间间隔依次向外发送检测语音,当上述各个终端设备接收到检测语音后,通过扬声器播放该检测音,然后由第一终端设备及其他终端设备采集检测语音,第一终端设备根据其采集到的检测语音从位于其周围预设范围内的终端设备中确定其对应的干扰设备。这样,可以使得检测语音测量过程简单化,并且,确定出的上述预设距离准确性较高。

S104,若对端设备属于第二终端设备,则第一终端设备根据上述采集时间戳、第一语音数据和存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;其中,上述存储的语音数据为预设时间段内第一终端设备采集的语音数据。

其中,上述存储的语音数据中存储有第一终端设备采集的语音数据与该语音数据对应的采集时间戳的对应关系。即每次第一终端设备用户在讲话时,第一终端设备将其采集到的语音数据进行存储,并且还会存储该语音数据的采集时间戳。

在步骤S104中,第一终端设备根据上述采集时间戳、第一语音数据和存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据,具体包括:

第一终端设备检测存储的语音数据中是否存在在上述采集时间戳所对应时刻采集的、与第一语音数据相匹配的语音数据;若存在,则控制第一终端设备的扬声器关闭或者丢弃第一语音数据。

当第一终端设备接收到第二终端设备发送的第一语音数据后,对该语音数据进行解调、解码处理,得到该第一语音数据对应的采集时间戳和语音内容,然后第一终端设备将接收到的第一语音数据与其存储的语音数据中的每个语音数据进行匹配,确定上述存储的语音数据中是否存在与第一语音数据对应的采集时间戳一致、且与第一语音数据的语音内容一致的语音数据,若存在,则说明第二终端设备发送的第一语音数据为采集到的第一终端设备用户讲话时的语音数据,这时,第一终端设备为了避免播放其对应用户的讲话内容,或者为了避免产生出现相位相同的声音叠加,这时第一终端设备会丢弃第一语音数据或者控制第一终端设备的扬声器关闭。

在本发明实施例中,控制第一终端设备的扬声器关闭实际上则是不通过扬声器播放上述第一语音数据,这样,可以避免产生相位相同的声音的叠加的情况,避免引起啸叫。

其中,上述丢弃第一语音数据可以是删除第一语音数据。

在本发明实施例中,通过丢弃与第一终端设备存储的语音列表终端的语音数据一致的第一语音数据或者控制第一终端设备的扬声器关闭的方式,可以避免第一终端设备播放对端设备采集的第一终端设备对应用户所讲的语音内容,避免了多终端语音通话内容混乱以及产生相位相同的声音叠加的情况的发生,从而可以消除由此产生的啸叫。

本发明实施例提供的方法,除了包括上述介绍的向第一终端设备发送第一语音数据的对端设备属于第二终端设备的情况之外,还包括上述对端设备不属于第二终端设备的情况,具体包括如下步骤(a)、(b)和(c);

(a)若上述对端设备不属于第二终端设备,上述第一终端设备检测上述第一语音数据是否包括多个对端设备同时发送的子语音数据。

由于每个对端设备发送的语音数据均携带有该对端设备的标识,因此,第一终端设备可以通过接收到的第一语音数据中携带的对端设备的标识的个数,确定第一语音数据中是否包括多个对端设备同时发送的子语音数据。

一个对端设备发送的语音数据记为一个子语音数据。

(b)若上述第一语音数据包括多个对端设备同时发送的子语音数据,第一终端设备检测上述多个对端设备中是否存在满足上述预设条件的至少两个对端设备。

其中,上述预设条件为:对端设备之间的间隔距离小于或等于预设距离,且扬声器处于开启状态。

(c)若上述多个对端设备中存在满足上述预设条件的至少两个对端设备,上述第一终端设备检测上述至少两个对端设备对应的子语音数据是否为重复的子语音数据;其中,上述重复的子语音数据指的是采集时间戳相同,且子语音数据一致;若是,则上述第一终端设备播放上述重复的子语音数据中的其中一种子语音数据。

另外,在本发明实施例中,若是多个对端设备中不存在满足上述预设条件的至少两个对端设备,则第一终端设备直接播放上述第一语音数据中的子语音数据即可。

在本发明实施例中,上述满足预设条件的至少两个对端设备可能为互为产生语音干扰的对端设备,若是上述满足预设条件的至少两个对端设备发送的子语音数据为重复的子语音数据,则说明满足预设条件的至少两个对端设备采集的可能为同一个用户的讲话内容,这时,为了避免重复播放,以及同时播放产生的声音混乱,第一终端设备只播放重复的子语音数据中的一个子语音数据即可。

在本发明实施例中,对于确定为重复的子语音数据则只播放重复的子语音数据中的一个子语音即可,这样,避免了重复播放,同时避免了由于同时播放多个相同的子语音数据导致的播放声音混乱等问题。

为了详细介绍上述过程,下述将举例说明上述过程。图3示出了本发明实施例中一种多个终端设备联机通话的示意图,在图3所示的情形中,进行语音通话的终端设备包括终端设备A、终端设备B、终端设备C、终端设备D和终端设备E,且终端设备A、终端设备B之间满足上述预设条件,终端设备C、终端设备D之间满足上述预设条件,即终端设备A和终端设备B之间可能互为干扰设备,终端设备C和终端设备D之间之间可能互为干扰设备,终端设备E与上述任意一个设备均不互为干扰设备。

依据图3所示的多个终端设备联机通话的示意图,在图3中,终端设备A和终端设备B互为干扰设备,终端设备C和终端设备D互为干扰设备。图4示出了本发明实施例提供的多终端语音通话的方法的第二种方法流程图,图4所示的方法至少包括如下步骤:

S402,终端设备A、终端设备B、终端设备C、终端设备D和终端设备E之间建立连接后,各个终端设备获取其对应的干扰设备;

S404,各个终端设备开始采集其对应用户的讲话内容,并发送给其对端设备;

S406,若终端设备A接收到其对端设备发送的第一语音数据后,检测该对端设备是否为终端设备B;若是,则执行步骤S408;否则,执行步骤S412;

S408,在终端设备A中存储的语音数据中查找是否存在在上述采集时间戳所对应时刻采集的、与第一语音数据相匹配的语音数据;若存在,则执行步骤S410;

S410,终端设备A丢弃上述第一语音数据或者终端设备A控制其扬声器关闭;

S412,终端设备A检测第一语音数据中是否包括多个对端设备同时发送的子语音数据;若是,则执行步骤S414;否则执行步骤S420;

S414,终端设备A检测上述多个对端设备中是否包括终端设备C和终端设备D;若是,则执行步骤S416;

S416,检测终端设备C和终端设备D所对应的子语音数据是否为重复的子语音数据;若是,则执行步骤S418;

S418,只播放终端设备C和终端设备D所对应的子语音数据中的一个;

S420,终端设备A播放上述第一语音数据。

其中,在图5中的A指的是终端设备A,B指的是终端设备B,C指的是终端设备C,D指的是终端设备D,E指的是终端设备E。

本发明实施例提供的多终端语音通话的方法,第一终端设备接收到的对端设备发送的第一语音数据中携带该语音数据的采集时间戳,并在接收到第一语音数据后,检测该对端设备是否属于第二终端设备;其中,第二终端设备与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;若上述对端设备属于第二终端设备,则根据接收到的语音数据的采集时间戳、语音数据以及终端设备存储该终端设备采集的存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;本发明实施例提供的方案,通过在发送的第一语音数据中携带该语音数据的采集时间戳,能够避免使用扬声器播放对端设备采集的该第一终端设备用户的语音数据,从而避免了多终端语音通话内容混乱以及相位相同的声音叠加的情况的发生,从而可以消除啸叫。

基于与本发明实施例提供的多终端语音通话的方法相同的思路,本发明实施例还提供了一种多终端语音通话的装置,应用于第一终端设备,用于执行本发明实施例提供的多终端语音通话的方法,图5为本发明实施例提供的多终端语音通话的装置的结构示意图,图5所示的装置,包括:

第一检测模块51,用于接收到对端设备发送的第一语音数据后,检测上述对端设备是否属于第二终端设备;其中,上述第一语音数据中携带有上述第一语音数据的采集时间戳;上述第二终端设备为与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;

控制模块52,用于若上述对端设备属于第二终端设备,则根据上述采集时间戳、上述第一语音数据和存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;其中,上述存储的语音数据为预设时间段内上述终端设备采集的语音数据。

可选地,上述控制模块52,包括:

第一检测单元,用于检测上述存储的语音数据中是否存在在上述采集时间戳所对应时刻采集的、与上述第一语音数据相匹配的语音数据;

控制单元,用于在上述存储的语音数据中存在在上述采集时间戳所对应时刻采集的、与上述第一语音数据相匹配的语音数据时,控制所述第一终端设备的扬声器关闭或者丢弃所述第一语音数据。

可选的,上述装置还包括:

第二检测模块,用于若上述对端设备不属于第二终端设备,检测上述第一语音数据是否包括多个对端设备同时发送的子语音数据;

第三检测模块,用于若上述第一语音数据包括多个对端设备同时发送的子语音数据时,检测上述多个对端设备中是否存在满足所述预设条件的至少两个对端设备;

第四检测模块,用于若上述多个对端设备中存在满足上述预设条件的至少两个对端设备,检测上述至少两个对端设备对应的子语音数据是否为重复的子语音数据;其中,上述重复的子语音数据指的是采集时间戳相同,且语音数据一致;

播放模块,用于在上述至少两个对端设备对应的子语音数据为重复的子语音数据时,则播放上述重复的子语音数据中的其中一个子语音数据;

可选的,上述装置,还包括:

第一确定模块,用于确定第一终端设备对应的第二终端设备列表;

上述第一检测模块51,包括:

第二检测单元,用于检测第二终端设备列表中是否存在上述对端设备。

可选的,上述装置,还包括:

第二确定模块,用于从与上述第一终端设备进行语音通话的多个终端设备中确定位于其周围预设范围内的终端设备;

获取模块,用于获取上述第一终端设备采集的检测语音的音量信号幅度;其中,上述检测语音通过上述第一终端设备及位于上述第一终端设备周围预设范围内的终端设备的扬声器播放的语音;

第三确定模块,用于根据上述音量信号幅度和预设阈值确定上述预设距离。

本发明实施例提供的多终端语音通话的装置,第一终端设备接收到的对端设备发送的第一语音数据中携带该语音数据的采集时间戳,并在接收到第一语音数据后,检测该对端设备是否属于第二终端设备;其中,第二终端设备与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;若上述对端设备属于第二终端设备,则根据接收到的语音数据的采集时间戳、语音数据以及终端设备存储该终端设备采集的存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;本发明实施例提供的方案,通过在发送的第一语音数据中携带该语音数据的采集时间戳,能够避免使用扬声器播放对端设备采集的该第一终端设备用户的语音数据,从而避免了多终端语音通话内容混乱以及相位相同的声音叠加的情况的发生,从而可以消除啸叫。

图6是本发明各个实施例的一种终端设备的硬件结构示意图。图6所示的终端设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、接口单元608、存储器609、处理器610、以及电源611等部件。本领域技术人员可以理解,图6中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。

在本发明实施例中,存储器609内存储有计算机程序,该计算机程序被处理器610执行时,能够实现如下步骤:

第一终端设备接收到对端设备发送的第一语音数据后,检测上述对端设备是否属于第二终端设备;其中,上述第一语音数据中携带有上述第一语音数据的采集时间戳;上述第二终端设备与第一终端设备满足预设条件,上述预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;

若是,则上述第一终端设备根据上述采集时间戳、上述第一语音数据和存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;其中,上述存储的语音数据为预设时间段内第一终端设备采集的语音数据。

可选地,计算机程序被处理器610执行时,上述第一终端设备根据上述采集时间戳、上述语音数据和存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据,包括:

上述第一终端设备检测上述存储的语音数据中是否存在在上述采集时间戳所对应时刻采集的、与上述第一语音数据相匹配的语音数据;

若存在,则控制第一终端设备的扬声器关闭或者丢弃第一语音数据。

可选地,计算机程序被处理器610执行时,上述方法还包括:

若上述对端设备不属于对其产生干扰的第二终端设备,上述第一终端设备检测上述第一语音数据是否包括多个对端设备同时发送的子语音数据;

若是,上述第一终端设备检测上述多个对端设备中是否存在满足上述预设条件的至少两个对端设备;

若存在,则上述第一终端设备检测上述至少两个对端设备对应的子语音数据是否为重复的子语音数据;其中,上述重复的子语音数据指的是采集时间戳相同,且子语音数据一致;若是,则上述第一终端设备播放上述重复的子语音数据中的其中一个子语音数据。

可选地,计算机程序被处理器610执行时,上述第一终端设备接收到对端设备发送的第一语音数据后,检测上述对端设备是否属于第二终端设备之前,上述方法还包括:

确定上述第一终端设备对应的第二终端设备列表;

相应的,上述检测上述对端设备是否属于第二终端设备,包括:

检测上述第二终端设备列表中是否存在上述对端设备。

可选地,计算机程序被处理器610执行时,上述预设距离通过如下方式确定,:

上述第一终端设备从与其进行语音通话的多个终端设备中确定位于其周围预设范围内的终端设备;

上述第一终端设备获取其采集的检测语音的音量信号幅度;其中,上述检测语音通过上述第一终端设备及位于上述第一终端设备周围预设范围内的终端设备的扬声器播放的语音;

上述第一终端设备根据上述音量信号幅度和预设阈值确定上述预设距离。

本发明实施例提供的终端设备,第一终端设备接收到的对端设备发送的第一语音数据中携带该语音数据的采集时间戳,并在接收到第一语音数据后,检测该对端设备是否属于第二终端设备;其中,第二终端设备与第一终端设备满足预设条件,该预设条件包括间隔距离小于或等于预设距离,且扬声器处于开启状态;若上述对端设备属于第二终端设备,则根据接收到的语音数据的采集时间戳、语音数据以及终端设备存储该终端设备采集的存储的语音数据,控制第一终端设备的扬声器关闭或者丢弃第一语音数据;本发明实施例提供的方案,通过在发送的第一语音数据中携带该语音数据的采集时间戳,能够避免使用扬声器播放对端设备采集的该第一终端设备用户的语音数据,从而避免了多终端语音通话内容混乱以及相位相同的声音叠加的情况的发生,从而可以消除啸叫。

应理解的是,本发明实施例中,射频单元601可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器610处理;另外,将上行的数据发送给基站。通常,射频单元601包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元601还可以通过无线通信系统与网络和其他设备通信。

终端设备通过网络模块602为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。

音频输出单元603可以将射频单元601或网络模块602接收的或者在存储器609中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元603还可以提供与终端设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元603包括扬声器、蜂鸣器以及受话器等。

输入单元604用于接收音频或视频信号。输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元606上。经图形处理器6041处理后的图像帧可以存储在存储器609(或其它存储介质)中或者经由射频单元601或网络模块602进行发送。麦克风6042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元601发送到移动通信基站的格式输出。

终端设备600还包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板6061的亮度,接近传感器可在终端设备600移动到耳边时,关闭显示面板6061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器605还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。

显示单元606用于显示由用户输入的信息或提供给用户的信息。显示单元606可包括显示面板6061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板6061。

用户输入单元607可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板6071上或在触控面板6071附近的操作)。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器610,接收处理器610发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6071。除了触控面板6071,用户输入单元607还可以包括其他输入设备6072。具体地,其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

进一步的,触控面板6071可覆盖在显示面板6061上,当触控面板6071检测到在其上或附近的触摸操作后,传送给处理器610以确定触摸事件的类型,随后处理器610根据触摸事件的类型在显示面板6061上提供相应的视觉输出。虽然在图6中,触控面板6071与显示面板6061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板6071与显示面板6061集成而实现终端设备的输入和输出功能,具体此处不做限定。

接口单元608为外部装置与终端设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元608可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备600内的一个或多个元件或者可以用于在终端设备600和外部装置之间传输数据。

存储器609可用于存储软件程序以及各种数据。存储器609可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器609可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器610是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器609内的软件程序和/或模块,以及调用存储在存储器609内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器610可包括一个或多个处理单元;优选的,处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。

终端设备600还可以包括给各个部件供电的电源611(比如电池),优选的,电源611可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

另外,终端设备600包括一些未示出的功能模块,在此不再赘述。

优选的,本发明实施例还提供一种终端设备,包括处理器610,存储器609,存储在存储器609上并可在所述处理器610上运行的计算机程序,该计算机程序被处理器610执行时实现上述多终端语音通话的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

进一步地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述多终端语音通话的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

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