CN107274882B - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN107274882B CN107274882B CN201710668691.6A CN201710668691A CN107274882B CN 107274882 B CN107274882 B CN 107274882B CN 201710668691 A CN201710668691 A CN 201710668691A CN 107274882 B CN107274882 B CN 107274882B
- Authority
- CN
- China
- Prior art keywords
- voice data
- data packet
- response information
- information
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000005540 biological transmission Effects 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 368
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 238000003860 storage Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 description 34
- 238000004458 analytical method Methods 0.000 description 21
- 239000000284 extract Substances 0.000 description 18
- 238000012545 processing Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 6
- 230000006837 decompression Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种数据传输方法及装置。所述方法包括:接收第一设备发送的第一请求信息;根据第一请求信息生成语音形式的第一应答信息;将第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括第一文件头、第一文件尾,以及第一应答信息中的部分语音数据;通过长连接方式向第一设备发送第一语音数据包,以使得第一设备从接收到第一个第一语音数据包开始,根据第一语音数据包中的第一文件头和第一文件尾,播放第一语音数据包中的第一应答信息。在本发明实施例中,由于无需等到应答信息全部下载完毕后再播放应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
Description
技术领域
本发明实施例涉及数据传输技术领域,特别涉及一种数据传输方法及装置。
背景技术
目前,用户可以与智能设备之间进行人机交互。例如,用户通过语音的方式向智能音箱询问天气、百科等内容,智能音箱采集语音信息之后,同样以语音的方式回答用户询问的相关内容。
相关技术中,上述人机交互的具体流程如下:智能音箱中的客户端获取智能音箱采集的语音信息,并将该语音信息发送至服务器,该语音信息可以是用户要询问的问题,例如“今天天气如何”;服务器查询获取与上述问题相关的应答信息,上述应答信息同样是语音形式;之后,服务器向上述客户端返回应答信息对应的统一资源定位符(UniformResource Locator,URL),上述客户端可通过携带URL的超文本传输协议(HyperTextTransfer Protocol,HTTP)请求从服务器处下载上述应答信息,并在上述应答信息全部下载完毕之后由智能音箱播放应答信息。
上述相关技术存在如下问题:若应答信息的数据量较大,则客户端通过 HTTP请求下载应答信息花费的时间较长,从而导致客户端从获取语音信息到播放应答信息所需的耗时较长,也即给用户提供应答的响应时间过长。
发明内容
本发明实施例提供了一种数据传输方法及装置,用以解决相关技术所存在的智能设备给用户提供应答的响应时间过长的问题。所述技术方案如下:
第一方面,提供了一种数据传输方法,所述方法包括:
接收第一设备发送的第一请求信息;
根据所述第一请求信息生成语音形式的第一应答信息;
将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;
通过长连接方式向所述第一设备发送所述第一语音数据包,以使得所述第一设备从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
第二方面,提供了一种数据传输方法,所述方法包括:
获取第一请求信息;
向第三设备发送所述第一请求信息,以使得所述第三设备根据所述第一请求信息生成语音形式的第一应答信息,并将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;
接收所述第三设备通过长连接方式发送的所述第一语音数据包;
从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
第三方面,提供了一种数据传输装置,所述装置包括:
信息接收模块,用于接收第一设备发送的第一请求信息;
信息生成模块,用于根据所述第一请求信息生成语音形式的第一应答信息;
数据包封装模块,用于将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;
数据包发送模块,用于通过长连接方式向所述第一设备发送所述第一语音数据包,以使得所述第一设备从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
第四方面,提供了一种数据传输装置,所述装置包括:
信息获取模块,用于获取第一请求信息;
信息发送模块,用于向第三设备发送所述第一请求信息,以使得所述第三设备根据所述第一请求信息生成语音形式的第一应答信息,并将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;
数据包接收模块,用于接收所述第三设备通过长连接方式发送的所述第一语音数据包;
信息播放模块,用于从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
第五方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的数据传输方法,或者如第二方面所述的数据传输方法。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的数据传输方法,或者如第二方面所述的数据传输方法。
第七方面,提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述第一方面所述的数据传输方法,或者第二方面所述的数据传输方法。
本发明实施例提供的技术方案可以带来如下有益效果:
通过将应答信息封装成多个语音数据包,并通过长连接方式传输上述语音数据包,请求方设备在接收到第一个语音数据包开始,即可读取并播放语音数据包中的应答信息;由于无需等到应答信息全部下载完毕后再播放应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的实施环境的示意图;
图2是本发明另一个实施例提供的实施环境的示意图;
图3是本发明一个实施例提供的数据传输方法的流程图;
图4A是本发明另一个实施例提供的数据传输方法的流程图;
图4B是本发明一个实施例提供的第三设备与第一设备之间的交互示意图;
图4C是本发明另一个实施例提供的第三设备与第一设备之间的交互示意图;
图5是本发明另一个实施例提供的数据传输方法的流程图;
图6是本发明另一个实施例提供的数据传输方法的流程图;
图7是本发明一个实施例提供的数据传输装置的框图;
图8是本发明另一个实施例提供的数据传输装置的框图;
图9是本发明一个实施例提供的设备的结构示意图;
图10是本发明另一个实施例提供的设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的实施环境的示意图。该实施环境包括:设备11和设备12。
设备11具有播放语音信息的功能。设备11可以是诸如智能音箱、智能导航仪等智能设备,还可以是手机、平板电脑等电子设备。可选地,设备11中运行有客户端,该客户端具备播放语音数据包,以及与设备12之间进行交互的功能。设备11可以称为请求方设备。
设备12用于为设备11提供语音应答服务。例如,设备11运行有客户端时,设备12用于为设备11中的客户端提供后台服务,例如语音识别、语义分析、获取应答信息等。设备12可以是服务器。上述服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。在其它可能的实现方式中,设备12也可以是诸如手机、平板电脑之类的终端。设备12 可以称为应答方设备。
设备11可以通过网络与设备12建立通信连接。该网络可以是无线网络,也可以是有线网络。
在实际应用中,设备11和设备12可以是两个具有不同功能的设备,其中设备11具备请求语音应答服务的功能,设备12具备提供语音应答服务的功能,例如,设备11为终端(如智能音箱),设备12为服务器。或者,设备11和设备12也可以是两个具有相同功能的设备,该设备既具备请求语音应答服务又具备提供语音应答服务的功能,例如,设备11和设备12均为终端(如手机)。
在一个示例中,如图2所示,当设备12为服务器,且该服务器为集群架构时,服务器可以包括:业务服务器21、语义服务器22和TTS(Text to Speech,从文本到语音)服务器23。
业务服务器21用于提供与设备11中的客户端之间通讯的功能。例如,业务服务器21用于提供与设备11中的客户端之间进行文字、图片、语音、视频等消息的收发功能。
语义服务器22用于提供对语音信息进行语音识别以及语义分析的功能。
TTS服务器23用于提供将文本信息转化为语音信息、封装语音数据包等功能。可选地,TTS服务器23还提供压缩语音数据包的功能。
上述各个服务器之间可通过网络建立通信连接。该网络可以是无线网络,也可以是有线网络。
在相关技术中,服务器向智能设备返回应答信息涉及的实现过程如下:服务器将语音形式的应答信息拆分为多个语音切片,并补充用于描述上述多个语音切片的播放顺序的元数据,之后服务器先向智能设备发送上述多个语音切片,最后向智能设备发送元数据。由于智能设备在播放语音切片中的应答信息时,需要对元数据进行解析,以获取播放语音切片的顺序,因此相关技术中需要等应答信息全部下载完毕后才能播放。
基于上述问题,本发明实施例提供了一种数据传输方法,以及基于该方法的装置、设备及系统。在本发明实施例中,通过将应答信息封装成多个语音数据包,并通过长连接方式发送上述语音数据包,请求方设备在接收到第一个语音数据包开始,即可读取并播放语音数据包中的应答信息;由于无需等到应答信息全部下载完毕后再播放应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
请参考图3,其示出了本发明一个实施例提供的数据传输方法的流程图。该方法可以应用于图1所示的实施环境中,其中,设备11也即第一设备,设备12 也即第三设备。该方法可以包括如下几个步骤。
步骤301,第一设备获取第一请求信息。
第一请求信息用于请求与第一请求信息中的内容相关的应答。第一请求信息可以是语音形式的请求信息,也可以是文本形式的请求信息。第一请求信息中可以是用户提出的问题,比如“今天天气怎么样”,第一请求信息还可以是命令式的语句,比如“请告诉我发明的含义”,本发明实施例对此不作限定。
在一个示例中,若第一请求信息是语音形式的信息,该第一请求信息可以由第一设备采集得到。可选地,第一设备提供有触发采集语音信号的功能控件,用户长按上述功能控件触发第一设备的麦克风采集语音信号,并在用户停止长按操作后结束对语音信号的采集,采集结束后,第一设备对采集到的语音信号进行滤波、采样、编码等处理,得到第一请求信息。
在另一个示例中,若第一请求信息是文本形式的信息,该第一请求信息可以由用户输入。可选地,第一设备提供有输入框,用户在输入框输入第一请求信息。
步骤302,第一设备向第三设备发送第一请求信息。
可选地,第一设备向第三设备发送应答信息获取请求。上述应答信息获取请求中携带有第一请求信息。
可选地,第一设备通过长连接方式向第三设备发送请求信息。长连接方式是指该连接一直处于保持的状态,能够提供稳定的接入服务,也即第一设备与第三设备之间多次传输数据时无需重新建立新的连接。上述长连接方式可以是即时通讯链路。可选地,第一设备启动后,先与第三设备建立传输控制协议 (Transmission Control Protocol,TCP)连接,再与第三设备建立即时通讯链路。通过上述方式,第一设备在下次向第三设备发送第一请求信息时,无需重新建立连接,可以提高发送请求信息的效率。
相应地,第三设备接收第一设备发送的第一请求信息。
步骤303,第三设备根据第一请求信息生成语音形式的第一应答信息。
第一应答信息是第三设备针对第一请求信息提供的应答。例如,第一请求信息为“今天温度多少”,第一应答信息为“32摄氏度”。再例如,第一请求信息为“牛奶的英文是什么”,第一应答信息为“milk”。
可选地,步骤303包括如下几个子步骤。
步骤303a,当第一请求信息为语音形式时,对第一请求信息进行语音识别得到第一请求信息文本;
由于第三设备不能直接对语音形式的请求信息进行语义分析,因此当第一请求信息为语音形式时,则需要由第三设备对第一请求信息进行语音识别,进而得到第一请求信息文本。
在本发明实施例中,对第一请求信息进行语音识别所采取的算法可以是基于声道模型和语音知识的算法、动态时间规整(Dynamic Time Warping,DTW) 算法、隐马尔可夫模型(Hidden Markov Model,HMM)算法、矢量量化(Vector Quantization)算法等等,本发明实施例对此不作限定。
步骤303b,对第一请求信息文本进行语义分析;
语义分析是指挖掘与学习文本、图片等的深层次概念。在本发明实施例中,对第一请求信息文本进行语义分析可以是对第一请求信息文本中的关键字识别并提取的过程。在本发明实施例中,对第一请求信息文本进行语义分析所采取的算法可以是单步算法、概率潜在语义分析算法等等,本发明实施例对此不作限定。
步骤303c,根据语义分析结果获取语音形式的第一应答信息。
语义分析结果是对第一请求信息文本进行语义分析的结果。
在一个示例中,第三设备先根据语义分析结果获取第一应答信息文本,再将第一应答信息文本转换成语音形式的第一应答信息。
可选地,第三设备存储有语义分析结果中的关键字与第一应答信息文本之间的预设对应关系,第三设备查找上述预设对应关系,进而获取第一应答信息文本。可选地,第三设备采用TTS技术将第一应答信息文本转换为语音形式的第一应答信息。在其它可能的示例中,将第一应答信息文本转换为语音形式的第一应答信息还可以采用变分贝叶斯算法、有效基音频率转换算法、基于 Ipac-psola合成算法等,本发明实施例对此不作限定。例如,若第一请求信息为“今天天气如何”,则第三设备先根据第一请求信息获取第一应答信息文本,再将第一应答信息文本转换为语音形式的第一应答信息。
在另一个示例中,第三设备根据第一请求信息直接获取语音形式的第一应答信息。可选地,第三设备直接存储语义分析结果中的关键字与语音形式的第一应答信息之间的预设对应关系,此时第三设备能根据语义分析结果直接获取语音形式的第一应答信息。例如,第一请求信息为“放首歌吧!”,则第三设备直接根据第一请求信息获取语音形式的第一应答信息,例如将某首歌曲的音频文件作为第一应答信息。
需要说明的是,当第一请求信息为文本形式的信息时,则第三设备直接对第一请求信息文本进行语义分析,根据语义分析结果获取语音形式的第一应答信息。
步骤304,第三设备将第一应答信息封装成多个第一语音数据包。
第一语音数据包中包括:第一文件头、第一文件尾,以及第一应答信息中的部分语音数据。第一文件头在第一语音数据包中的位置位于上述部分语音数据之前,第一文件头用于指示第一语音数据包的格式。其中,第一语音数据包的格式为音频格式,如WAV格式,MP3格式等等,本发明实施例对此不作限定。可选地,第一文件头还用于指示第一语音数据包的数据量等信息。第一文件尾在第一语音数据包中的位置位于上述部分语音数据之后,第一文件尾是第一语音数据包的结束标识,其用于指示第一语音数据包为一个完整的文件。
在一个示例中,第三设备根据第一应答信息的总数据量,将第一应答信息封装成多个第一语音数据包。可选地,步骤304包括如下两个子步骤。
步骤304a,依次从第一应答信息提取预设数据量的语音数据;
步骤304b,将第一文件头、每次提取的预设数据量的语音数据、第一文件尾封装成一个语音数据包。
预设数据量小于第一应答信息的总数据量。其中,预设数据量可根据需求预先设定,还可以根据语音数据包的总数据量确定。示例性地,预设数据量为 2000字节(bytes)。
需要说明的是,若第三设备从第一应答信息中至少一次地提取预设数据量的语音数据之后,剩余的语音数据的数据量小于预设数据量,则下一次提取过程中第三设备将剩余的语音数据全部提取。示例性地,第一应答信息的总数据量为7200字节,预设数据量为2000字节,第三设备提取3次2000字节的应答信息之后,第4次提取剩余的1200字节的应答信息。第三设备提取预设数据量的语音数据之后,在上述语音数据之前添加第一文件头,并在上述语音数据之后添加第一文件尾,之后将第一文件头、预设数据量的语音数据、第一文件尾封装成一个第一语音数据包。
可选地,在步骤304之前,还可以包括如下步骤:第三设备检测第一应答信息的数据量是否大于预设阈值;若第一应答信息的数据量大于预设阈值,则将第一应答信息封装成多个第一语音数据包,若第一应答信息的数据量小于预设阈值,则将第一应答消息封装成一个第一语音数据包。上述预设阈值可根据经验或实验设定,示例性地,预设阈值为6000字节。
在另一个示例中,第三设备根据第一应答信息的总播放时长,将第一应答信息封装成多个第一语音数据包。可选地,步骤304包括如下两个子步骤:
步骤304c,依次从第一应答信息中提取预设播放时长的语音数据。
步骤304d,将第一文件头、每次提取的预设播放时长的语音数据和第一文件尾封装成一个第一语音数据包。
预设播放时长小于第一应答信息的总播放时长。其中,预设播放时长可根据需求预先设定,还可以根据第一应答信息的总播放时长确定。示例性地,预设播放时长为30秒。
需要说明的是,若第三设备从第一应答信息中至少一次地提取预设播放时长的语音数据之后,剩余的语音数据的播放时长小于预设播放时长,则下一次提取过程中第三设备将剩余的语音数据全部提取。示例性地,第一应答信息的总播放时长为2分15秒,预设播放时长为30秒,第三设备提取4次播放时长为30秒的语音数据之后,第5次提取剩余的播放时长为15秒的语音数据。第三设备提取预设播放时长的语音数据之后,在上述语音数据之前添加第一文件头,并在上述语音数据之后添加第一文件尾,之后将第一文件头、预设播放时长的语音数据、第一文件尾封装成一个第一语音数据包。
在另一个示例中,第三设备根据第一应答信息的内容类型,将第一应答信息封装成多个第一语音数据包。可选地,步骤304包括如下子步骤。
步骤304e,获取第一应答信息的内容类型;
上述内容类型为语音播报类型或音乐类型。语音播报类型是指采用朗读方式播放的应答信息对应的内容类型。进一步地,根据应答信息的内容,还可以将语音播报类型划分为百科类型、故事类型和导航类型等等。音乐类型是指采用吟唱方式播放的应答信息对应的内容类型。
可选地,第一应答信息的内容类型可以根据第一请求信息确定。第三设备中存储有指定关键词与内容类型之间的预设对应关系,第三设备检测第一请求信息中是否包括指定关键词,若包括指定关键词,则根据上述预设对应关系进一步确定第一应答信息的内容类型。例如,第三设备检测出第一请求信息中包括指定关键词“音乐”、“歌曲”等,则确定第一请求信息的内容类型为音乐类型。再例如,第三设备检测出第一请求信息中包括指定关键词“故事”、“天气”等,则确定第一请求信息的内容类型为语音播报类型。
可选地,第三设备还可以根据第一应答信息的内容确定第一应答信息的内容。在一个示例中,第三设备检测第一应答信息中是否包括指定关键词,若包括指定关键词,则根据上述预设对应关系进一步确定第一应答信息的内容类型。
步骤304f,根据第一应答信息的内容类型将第一应答信息封装成多个第一语音数据包。
可选地,若第一应答信息的内容类型为语音播报类型,则依次从第一应答信息中提取第一预设数量的句子对应的语音数据,第一预设数量小于第一应答信息包括的句子的总数量,将第一文件头、每次提取的第一预设数量的句子对应的语音数据和第一文件尾封装成一个第一语音数据包。当第一应答信息的内容类型为语音播报类型时,其通常由若干个句子组成,每个句子用于表达一个完整的意思,相邻的两个句子之间通常有停顿,因此第三设备可识别语音数据中的停顿,进而拆分得到多个第一语音数据包。第一预设数量可以根据需求预先设定,还可以根据第一应答信息包括的句子的总数量确定。示例性地,第一预设数量为3。
例如,语音形式的第一应答信息为语音播报类型,播放时长为1分零4秒。其中,第11秒,第23秒,第32秒,第44秒,第51秒出现有停顿。则第三设备依次提取第1秒至第23秒的语音数据、第24秒至第44秒的语音数据,第45 秒至第1分零4秒的语音数据,然后为上述三段语音数据分别添加相应的第一文件头和第一文件尾,进而封装得到三个第一语音数据包。
另外,若第三设备从第一应答信息中至少一次地提取第一预设数量的句子对应的语音数据之后,剩余的语音数据对应的句子的数量小于第一预设数量,则下一次提取过程中第三设备将剩余的语音数据全部提取。
在其它可能的实施方式中,当第一应答信息的内容类型为语音播报类型时,第三设备也可以先获取第一应答信息文本,在后续封装第一语音数据包时,第三设备可以先依次从第一应答信息文本提取第一预设数量的句子对应的文本数据,之后将上述文本数据转换成语音数据,然后在上述语音数据之前添加第一文件头,在上述语音数据之后添加第一文件尾,之后第三设备将第一文件头、每次提取的第一预设数量的句子对应的文本数据转换得到的语音数据和第一文件尾封装成一个第一语音数据包。需要说明的是,在该示例中,第三设备通过识别文本数据中特定的符号,例如句号,进而拆分得到多个第一语音数据包。
例如,第一应答信息文本的内容为“天气晴转多云。温度26摄氏度。风力2 到3级。”,则第三设备依次从第一应答信息文本中提取1个句子对应的文本数据“天气晴转多云”、“温度26摄氏度”、“风力2到3级”,将上述三段文本数据转换成语音数据,然后为每段语音数据添加相应的第一文件头和第一文件尾,进而封装得到三个第一语音数据包。
可选地,若第一应答信息的内容类型为音乐类型,则依次从第一应答信息中提取第二预设数量的音乐小节对应的语音数据,第二预设数量小于第一应答信息包括的音乐小节的总数量,将第一文件头、每次提取的第二预设数量的音乐小节对应的语音数据和第一文件尾封装成一个第一语音数据包。当第一应答信息的内容类型为音乐类型时,其通常由若干个音乐小节组成,音乐小节是节拍的单位,其是指一个强拍到下一个强拍之间的部分,第三设备可通过识别语音数据中的强拍,进而拆分得到多个第一语音数据包。第二预设数量可以根据需求预先设定,还可以根据第一应答信息包括的音乐小节的总数量确定。示例性地,第二预设数量为1。
例如,语音形式的第一应答信息为某首歌曲,播放时长2分30秒,其中第 37秒、第1分02秒、第1分52秒,第2分23秒出现有强拍,则第三设备依次提取第1秒至第37秒的语音数据、第38秒至第1分02秒的语音数据、第1分 03秒至第1分52秒的语音数据,第1分53秒至第2分30秒的语音数据,然后为上述四段语音数据分别添加相应的第一文件头和第一文件尾,进而封装得到四个第一语音数据包。
另外,若第三设备从第一应答信息中至少一次地提取第二预设数量的音乐小节对应的语音数据之后,剩余的语音数据对应的音乐小节的数量小于第二预设数量,则下一次提取过程中第三设备将剩余的语音数据全部提取。
可选地,当第一应答信息的内容类型为语音播报类型中的导航类型时,还可以采用如下方式封装第一语音数据包:依次从第一应答信息中提取预设长度的路线对应的语音数据,预设长度小于第一应答信息指示的路线的总长度,将第一文件头、每次提取的预设长度的路线对应的语音数据和第一文件尾封装成一个第一语音数据包。当第一应答信息的内容类型为导航类型时,其通常用于指示从出发地点到目的地点之间的完整的路线。预设长度可以根据需求预先设定,还可以根据第一应答信息指示的路线的总长度确定。示例性地,预设长度为3公里。另外,若第三设备从第一应答信息中至少一次地提取预设长度的路线对应的语音数据之后,剩余的语音数据指示的路线的长度小于预设长度,则下一次提取过程中第三设备将剩余的语音数据全部提取。
通过根据第一应答信息的内容类型进行语音数据包的封装,能够确保每一个语音数据包中包含的应答信息的完整性和连贯性。
在本发明实施例中,由于每个第一语音数据包均是完整的文件,因此,第一设备在接收到第一个第一语音数据包时,即可开始播放语音数据包中的第一应答信息,因此能够减少第一设备从获取第一请求信息至播放第一应答信息所需的耗时,缩短第一设备给用户提供应答的响应时间。
步骤305,第三设备通过长连接方式向第一设备发送第一语音数据包。
长连接方式是指该连接一直处于保持的状态,能够提供稳定的接入服务,也即第一设备与第三设备之间多次传输数据时无需重新建立新的连接。上述长连接方式可以是即时通讯链路。即时通讯链路是稳定的长连接,第三设备向第一设备发送下一个第一语音数据包时,可通过即时通讯链路发送,从而无需重新建立新的连接。通过上述方式,能提高传输第一语音数据包的效率。此外,相比与相关技术中采用HTTP连接来发送数据切片,本发明实施例采用长连接方式来传输第一语音数据包,能够充分减少乱序。
需要说明的是,在本发明实施例中,第三设备与第一设备之间传输的是语音数据包,而并非是语音切片。若通过HTTP连接来实现第三设备与第一设备之间的交互时,则每发送一个语音数据包,第三设备与第一设备之间均需要重新建立HTTP连接。此外,若网络状况较差,则第三设备与第一设备之间的HTTP 连接的多次建立过程均成功的概率较小,当存在某一次HTTP连接建立失败的情况时,第三设备无法向第一设备发送语音数据包;然而,第一设备与第三设备之间的长连接(比如即时通讯链路)只需建立一次,建立成功的概率较大,因此采用长连接方式能实现较为稳定地传输第一语音数据包。
相应地,第一设备接收第三设备通过长连接方式发送的语音数据包。
步骤306,第一设备从接收到第一个第一语音数据包开始,根据第一语音数据包中的第一文件头和第一文件尾,播放第一语音数据包中的第一应答信息。
第一文件头中携带有用于指示第一语音数据包的格式的信息,因此第一设备可根据第一语音数据包中的第一文件头确定第一语音数据包为音频文件。第一文件尾是第一语音数据包的结束标识,第一设备可根据第一文件尾确定第一语音数据包是一个完整的文件,进而识别并播放第一语音数据包。
由于每个第一语音数据包均是完整的文件,可以被第一设备识别并播放。因此,第一设备从接收到第一个第一语音数据包开始,即可读取第一语音数据包中的部分第一应答信息并播放读取到的第一应答信息。需要说明的是,第一设备播放第一语音数据包中的第一应答信息的同时,第一设备依然执行接收第三设备发送的第一语音数据包的步骤。
第一设备采用播放组件播放第一语音数据包中的第一应答信息。示例性地,上述播放组件可以是Audio Track。可选地,第一设备根据第一应答信息的内容类型,确定播放第一应答信息的播放模式,并采用上述播放模式播放第一应答信息。例如,对于导航类型的第一应答信息,第一设备可以采用单声道进行播放;对于故事类型或百科类型的第一应答信息,第一设备可以采用双声道进行播放;对于音乐类型的第一应答信息,第一设备可以采用立体声进行播放。针对不同内容类型的第一应答信息选取不同的播放模式,一方面能够使第一设备的播放效果更加符合实际需求,另一方面能够节省第一设备的电量。
综上所述,本发明实施例提供的方法,通过应答方设备将应答信息封装成多个语音数据包,并通过长连接方式发送上述语音数据包,请求方设备在接收到第一个语音数据包开始,即可播放该语音数据包中的应答信息;由于无需等到应答信息全部下载完毕后再播放,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
请参考图4A,其示出了本发明另一个实施例示出的数据传输方法的流程图。该方法可应用于图1所示的实施环境中,其中,设备11也即第一设备,设备12 也即第三设备。该方法可以包括如下几个步骤:
步骤401,第一设备获取第一请求信息。
步骤402,第一设备向第三设备发送第一请求信息。
相应地,第三设备接收第一设备发送的第一请求信息。
步骤403,第三设备根据第一请求信息生成语音形式的第一应答信息。
步骤404,第三设备将第一应答信息封装成多个第一语音数据包。
每一个第一语音数据包包括:第一文件头、第一文件尾,以及第一应答信息中的部分语音数据。
步骤405,第三设备对各个第一语音数据包中的第一应答信息进行压缩处理。
压缩处理是指在不丢失有用信息的前提下,按照一定的算法对数据进行重新组织,以减少数据的冗余,进而实现减少存储空间,提高其传输、存储和处理效率。可选地,第三设备采用Opus编码器对各个第一语音数据包中的语音数据进行压缩处理。Opus编码器能有效减少第一语音数据包的数据量,进而提高第一语音数据包的传输效率。例如,第一语音数据包的原始数据量为2880字节,经Opus编码器压缩处理后,该第一语音数据包的数据量减少至300字节。在其它可能的示例中,对各个第一语音数据包进行压缩处理所采取的算法还可以是其它算法,本发明实施例对此不作限定。
可选地,每封装一个第一语音数据包,则第三设备对第一语音数据包中的第一应答信息进行压缩处理,也即,在本发明实施例中,每封装一个第一语音数据包,则第三设备立刻对该第一语音数据包中的语音数据进行压缩处理,同时第三设备继续封装下一个第一语音数据包。将封装得到第一语音数据包以及对第一语音数据包中的语音数据进行压缩处理并行处理,能够进一步降低第一设备从获取请求信息至播放应答信息所需的耗时。
步骤406,第三设备根据各个第一语音数据包中的第一应答信息的播放顺序,为各个第一语音数据包设置对应的序列号。
第一语音数据包中包含的部分第一应答信息的播放顺序,可以根据该部分第一应答信息在全部第一应答信息中的位置决定。对于先后播放的部分第一应答信息,先播放的部分第一应答信息在全部第一应答信息的位置,在后播放的部分第一应答信息在全部第一应答信息之前。
序列号用于指示第一设备播放各个第一语音数据包中的部分第一应答信息的播放顺序。序列号还用于指示第三设备向第一设备发送第一语音数据包的顺序。此外,由于各个序列号之间互不重复,因此序列号还可以用于唯一标识第一语音数据包,后续第一设备接收到若干个第一语音数据包时,可根据序列号对上述第一语音数据包进行校验,若存在序列号缺失时,则说明该缺失的序列号对应的第一语音数据包发送失败,此时第一设备向第三设备发送数据包获取请求,数据包获取请求携带有缺失的序列号,以使得第三设备重新发送缺失的序列号对应的第一语音数据包。
可选地,第三设备根据各个第一语音数据包中包含的部分第一应答信息的播放顺序的先后,为各个第一语音数据包设置对应的序列号。例如,第一个播放的第一语音数据包,第三设备为其设置的序列号为001,第二个播放的第一语音数据包,第三设备为其设置的序列号为002,等等。
需要说明的是,本发明实施例对第一语音数据包进行压缩处理,以及为第一语音数据包设置对应的序列号的执行顺序不作限定。第三设备可以先对各个第一语音数据包进行压缩处理,再为各个第一语音数据包设置对应的序列号;第三设备还可以为各个第一语音数据包设置对应的序列号,再对各个第一语音数据包进行压缩处理。
可选地,对第一语音数据包的压缩处理以及为第一语音数据包设置对应的序列号也是并行处理的,例如,每压缩一个第一语音数据包,为已压缩的第一语音数据包设置对应的序列号,或者,每为一个第一语音数据包设置对应的序列号,对已设置序列号的第一语音数据包进行压缩处理。
步骤407,第三设备通过长连接方式向第一设备发送第一语音数据包。
可选地,第三设备根据各个第一语音数据包对应的序列号顺序发送第一语音数据包。并且,对于先后发送的两个第一语音数据包,先发送的第一语音数据包所包括的数据在应答信息中的位置,在后发送的第一语音数据包所包括的数据在应答信息中的位置之前。
相应地,第一设备接收第三设备通过长连接方式发送的第一语音数据包。
步骤408,第一设备从第一语音数据包中读取序列号。
步骤409,第一设备根据第一语音数据包的序列号,确定第一语音数据包中的第一应答信息的播放顺序。
由于序列号是根据第三设备根据第一语音数据包中的部分应答信息的播放顺序设置的,因此第一设备接收到第一语音数据包之后,可读取该第一语音数据包的序列号,进而确定出该第一语音数据包的播放顺序。相比于现有技术中,各个语音切片的播放顺序需要等到应答信息下载完毕之后,对元数据进行解析得到,本发明实施例由于能直接根据第一语音数据包的序列号,确定该第一语音数据包的播放顺序,因此无需等到全部第一应答信息下载完毕再播放第一应答信息,从而缩短第一设备从获取请求信息到播放应答信息所需的耗时,也即缩短第一设备给用户提供应答的响应时间。
步骤410,第一设备对第一语音数据包中的第一应答信息进行解压缩处理。
可选地,第一设备每接收一个第一语音数据包,对已接收的第一语音数据包中的语音数据进行解压缩处理。可选地,第一设备采用Opus解码器对第一语音数据包进行解压缩处理。
步骤411,第一设备从接收到第一个第一语音数据包开始,根据第一语音数据包中的第一文件头和第一文件尾,播放第一语音数据包中的第一应答信息。
步骤412,第一设备在接收到最后一个第一语音数据包之后,计算第一应答信息的总播放时长。
可选地,第一设备根据第一语音数据包的数量及采样率计算第一应答信息的总播放时长。
其中,若第一应答信息被封装为多个数据量相同的第一语音数据包时,根据第一语音数据包的数量以及采样率计算播放时长可以采用如下公式:
其中,T为第一应答信息的总播放时长,n为第一语音数据包的数量,m为第一语音数据包的数据量(也即每个语音数据包所包括的字节数),F为采样率。
其中,若第一应答信息被封装为多个语音数据包时,除最后一个第一语音数据包之外的其它第一语音数据包的数据量均相同,根据第一语音数据包的数量以及采样率计算播放时长可以采用如下公式:
其中,T为第一应答信息的总播放时长,n为第一语音数据包的数量,m为除最后一个第一语音数据包之外的其它第一语音数据包的数据量,k为最后一个第一语音数据包的数据量,F为采样率。
步骤413,当第一应答信息的已播放时长达到总播放时长时,第一设备释放播放资源。
播放资源是播放第一应答信息所需的资源。通过上述方式,可以避免第一应答信息播放结束后,第一设备的播放资源依然被占用,进而对第一设备提供的其它服务造成影响。
步骤414,第一设备获取用于指示停止语音问答服务的第三请求信息。
第三请求信息用于请求停止语音问答服务。第三请求信息由第一设备对用户发出的语音信息采集得到,例如,用户发出“结束应答”,此时第三设备获取到第三请求信息。在其它可能的示例中,第一设备提供有用于触发停止语音问答服务的操作控件,用户触发上述操作控件之后,第一设备获取到用于指示停止语音问答服务的第三请求信息。
步骤415,第一设备向第三设备发送第三请求信息。
相应地,第三设备接收第一设备发送的第三请求信息。
步骤416,第三设备在检测到第三请求信息用于指示停止语音问答服务时,断开与第一设备之间建立的长连接。
第三设备检测第三请求信息中是否包括指定关键词,例如,指定关键词可以是“结束”、“停止”等等,若第三请求信息中包括上述指定关键词,则第三设备确定第三请求信息用于指示停止语音问答服务,并将第三设备与第一设备之间的长连接断开。通过上述方式,根据用户指示断开长连接,避免误将有用的连接断开,更加符合实际使用需求。
在其它可能的示例中,第一设备在与第三设备建立长连接之后的预设时间内未获取到第一请求信息,则断开与第三设备之间的长连接。预设时间可以根据实际需求设定,例如,预设时间为1小时。通过上述两种方式,均可以避免请求方设备在未请求语音问答服务时占用提供方设备的连接资源,能节省提供方设备的连接资源,从而提高提供方设备为其它请求方设备提供语音问答服务的效率。
结合参考图4B,其示出了本发明一个实施例示出的第三设备与第一设备之间传输第一语音数据包的示意图。第三设备将应答信息文本转换为语音形式的应答信息,并将其封装成多个第一语音数据包,采用Opus编码器对各个第一语音数据包进行压缩处理,并为各个第一语音数据包设置对应的序列号,之后通过长连接方式向第一设备发送第一语音数据包,之后采用Opus解码器对各个第一语音数据包进行解码,最终由播放组件播放第一语音数据包中的第一应答信息。
本发明实施例提供的方法,还通过对各个语音数据包进行压缩处理,能减小语音数据包的数据量,从而提高发送语音数据包的效率。
本发明实施例提供的方法,还通过为各个语音数据包设置对应的序列号,进而指示语音数据包的播放顺序,从而使请求方设备在接收到第一个语音数据包开始,即可读取并播放该语音数据包中的应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
在实际实现时,第一设备中存在三个预设接口,第一设备通过调用上述预设接口,进而完成接收第一语音数据包到播放第一语音数据包中的第一应答信息的过程中所需的准备工作。下面,将对三个预设接口进行解释说明。
第一预设接口用于获取应答信息的相关参数,比如采样率,声道等等,并根据上述获取到的相关参数初始化用于播放应答信息的播放组件,也即,根据上述相关参数设置播放组件播放语音数据包中的应答信息时的参数。此外,第一预设接口还用于初始化智能设备中用于对语音数据包进行解码的解码器。可选地,当第一设备接收到第一个语音数据包时,第一设备调用第一预设接口。可选地,第一设备调用第一预设接口时,标识第一设备处于开始接收语音数据包的状态,上述状态可以称之为“TTS_PUSH_START”状态。
第二预设接口用于将语音数据包转换为字节,并将转换得到的字节交由解码器进行解码,之后解码得到的数据交由播放组件进行播放。可选地,当第一设备调用第一预设接口完成对解码组件以及播放组件的初始化之后,调用第二预设接口。可选地,第一设备调用第二预设接口时,标识第一设备处于正在接收语音数据包的状态,上述状态可以称之为“TTS_PUSH”状态。
第三预设接口用于计算第一应答信息的总播放时长,当第一应答信息的已播放时长达到总播放时长时,释放播放资源。另外,第三预设接口还用于释放解码资源,解码资源是指对第一语音数据包进行解压缩处理所需的资源。在一个示例中,第三预设接口在释放播放资源的同时释放解码资源。在另一个示例中,第三预设接口在第一设备对最后一个接收的第一语音数据包进行解压缩处理之后释放解码资源。
可选地,第一设备在接收到最后一个语音数据包时,调用第三预设接口。可选地,第一设备调用第三预设接口时,标识第一设备处于结束接收语音数据包的状态,上述状态可以称之为“TTS_PUSH_END”状态。
结合参考图4C,其出了本发明一个示例性实施例示出的第一设备与第三设备之间的交互的示意图。其中,第一设备中包括第一预设接口、第二预设接口、第三预设接口,第三设备是由语义服务器、业务服务器以及TTS服务器组成的服务器集群。第一设备采集用户以语音形式提出的请求信息,由第一设备通过长连接方式向第三设备发送上述请求信息,由第三设备中的语义服务器将请求信息转换为请求信息文本,并向业务服务器发送上述请求信息文本,业务服务器根据请求信息文本获取应答信息文本,并将应答信息文本转发至TTS服务器, TTS服务器将应答信息文本转换为语音形式的应答信息之后,对语音形式的应答信息进行分包、压缩等处理,然后将处理后的语音形式的应答信息发送至业务服务器,然后业务服务器通过长连接方式向第一设备发送上述语音形式的应答信息,再由第一设备播放应答信息,此时用户得到第一设备的响应。
请参考图5,其示出了本发明另一个实施例示出的数据传输方法的流程图。该方法可应用于图2所示的实施环境中。该方法包括如下的步骤。
步骤501,第一设备获取第一请求信息。
步骤502,第一设备向语义服务器发送第一请求信息。
相应地,语义服务器接收第一设备发送的第一请求信息。
步骤503,当第一请求信息为语音形式时,语义服务器对第一请求信息进行语音识别得到第一请求信息文本。
步骤504,语义服务器对第一请求信息文本进行语义分析。
步骤505,语义服务器向业务服务器发送语义分析结果。
相应地,业务服务器接收语义服务器发送的语义分析结果。
步骤506,业务服务器根据语义分析结果获取第一应答信息文本。
步骤507,业务服务器向TTS服务器发送第一应答信息文本。
相应地,TTS服务器接收业务服务器发送的第一应答信息文本。
步骤508,TTS服务器将第一应答信息文本转换为语音形式的第一应答信息。
步骤509,TTS服务器将上述第一应答信息封装成多个第一语音数据包。
每一个第一语音数据包中包括:第一文件头、第一文件尾,以及第一应答信息中的部分语音数据。
步骤510,TTS服务器每封装一个第一语音数据包,对第一语音数据包中的第一应答信息进行压缩处理。
步骤511,TTS服务器根据各个第一语音数据包中的第一应答信息的播放顺序,为各个第一语音数据包设置对应的序列号。
步骤512,TTS服务器向业务服务器发送第一语音数据包。
相应地,业务服务器接收TTS服务器发送的第一语音数据包。
步骤513,业务服务器通过长连接方式向第一设备发送第一语音数据包。
相应地,第一设备接收业务服务器通过长连接方式发送的第一语音数据包。
步骤514,第一设备从第一语音数据包中读取序列号;
步骤515,根据第一语音数据包的序列号,确定第一语音数据包中的第一应答信息的播放顺序。
步骤516,第一设备每接收一个第一语音数据包,对已接收的第一语音数据包中的第一应答信息进行解压缩处理。
步骤517,第一设备从接收到第一个第一语音数据包开始,根据第一语音数据包中的第一文件头和第一文件尾,播放第一语音数据包中的第一应答信息。
步骤518,第一设备在接收到最后一个第一语音数据包之后,计算第一应答信息的总播放时长。
步骤519,当第一应答信息的已播放时长达到总播放时长时,释放播放资源。
播放资源是播放第一应答信息所需的资源。步骤520,第一设备获取用于指示停止语音问答服务的第三请求信息。
步骤521,第一设备向业务服务器发送第三请求信息。
相应地,业务服务器接收第一设备发送的第三请求信息。
步骤522,业务服务器在检测到第三请求信息用于指示停止语音问答服务时,断开与第一设备之间建立的长连接。
在上述方法实施例中,有关第一设备一侧的步骤可以单独实现成为第一设备侧的数据传输方法,有关第三设备一侧的步骤可以单独实现成为第三设备侧的数据传输方法。
请参考图6,其示出了本发明另一个实施例提供的数据传输方法的流程图。该方法可以应用于图1所示的实施环境中,其中,设备11也即第三设备,设备 12也即第二设备。该方法可以包括如下几个步骤。
步骤601,第三设备获取第二请求信息。
步骤602,第三设备向第二设备发送第二请求信息。
相应地,第二设备接收第三设备发送的第二请求信息。
步骤603,第二设备根据第二请求信息生成语音形式的第二应答信息。
步骤604,第二设备将第二应答信息封装成多个第二语音数据包,第二语音数据包包括:第二文件头、第二文件尾,以及第二应答信息中的部分语音数据。
可选地,在步骤604之后,第二设备对各个第二语音数据包中的第二应答信息进行压缩处理。
可选地,在步骤604之后,第二设备根据各个第二语音数据包中的第二应答信息的播放顺序,为各个第二语音数据包设置对应的序列号。
步骤605,第二设备通过长连接方式向第三设备发送第二语音数据包。
相应地,第三设备接收第二设备以长连接方式发送的第二语音数据包。
步骤606,第三设备从接收到第一个第二语音数据包开始,根据第二语音数据包中的第二文件头和第二文件尾,播放第二语音数据包中的第二应答信息。
可选地,第三设备接收第二设备以长连接方式发送的第二语音数据包之后,第三设备从第二语音数据包中读取序列号,第三设备根据第二语音数据包的序列号,确定第二语音数据包中的部分第二应答信息的播放顺序。
可选地,第三设备接收第二设备以长连接方式发送的第二语音数据包之后,第三设备对第二语音数据包中的第二应答信息进行解压缩处理。可选地,第三设备每接收一个第二语音数据包,对已接收的第二语音数据包中的语音数据进行解压缩处理。
可选地,第三设备在接收到最后一个第二语音数据包之后,计算第二应答信息的总播放时长,当第二应答信息的已播放时长达到总播放时长时,第三设备释放播放资源。
可选地,第三设备获取第二请求之后,获取用于指示停止语音问答服务的第三请求信息;向第二设备发送第三请求信息,以使得第二设备在检测到第三请求信息用于指示停止语音问答服务时,断开与第三设备之间建立的长连接。
图6实施例与图3实施例所不同的是,在图3实施例中,第三设备作为应答方设备向第一设备提供语音应答服务,而在图6实施例中,第三设备作为请求方设备,从第二设备请求语音应答服务。在实际应用中,对于某一设备来说,其可以仅具备请求语音应答服务的功能,也可以仅具备提供语音应答服务的功能,或者兼具上述两种功能。另外,有关图6实施例中各步骤的具体实现细节,参见上述各个方法实施例中的介绍说明,此处不再赘述。
在上述方法实施例中,有关第三设备一侧的步骤可以单独实现成为第三设备侧的数据传输方法,有关第二设备一侧的步骤可以单独实现成为第二设备侧的数据传输方法。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图7,其示出了本发明一个实施例提供的数据传输装置的框图。该装置具有实现上述方法实施例中第三设备侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:信息接收模块701、信息生成模块702、数据包封装模块703和数据包发送模块704。
信息接收模块701,用于接收第一设备发送的第一请求信息。
信息生成模块702,用于根据所述第一请求信息生成语音形式的第一应答信息。
数据包封装模块703,用于将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据。
数据包发送模块704,用于通过长连接方式向所述第一设备发送所述第一语音数据包,以使得所述第一设备从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
可选地,所述数据包封装模块703,用于:
依次从所述第一应答信息提取预设数据量的语音数据,所述预设数据量小于所述第一应答信息的数据量;
将所述第一文件头、每次提取的所述预设数据量的语音数据、所述第一文件尾封装成一个第一语音数据包。
可选地,所述数据包封装模块703,用于:
依次从所述第一应答信息中提取预设播放时长的语音数据,所述预设播放时长小于所述第一应答信息的总播放时长;
将所述第一文件头、每次提取的所述预设播放时长的语音数据和所述第一文件尾封装成一个第一语音数据包。
可选地,所述数据包封装模块703,用于:
获取所述第一应答信息的内容类型,所述内容类型为语音播报类型或音乐类型;
根据所述第一应答信息的内容类型将所述第一应答信息封装成所述多个第一语音数据包。
可选地,所述数据包封装模块703,具体用于:
若所述第一应答信息的内容类型为所述语音播报类型,则依次从所述第一应答信息中提取第一预设数量的句子对应的语音数据,所述第一预设数量小于所述第一应答信息包括的句子的总数量,将所述第一文件头、每次提取的所述第一预设数量的句子对应的语音数据和所述第一文件尾封装成一个第一语音数据包;
若所述第一应答信息的内容类型为所述音乐类型,则依次从所述第一应答信息中提取第二预设数量的音乐小节对应的语音数据,所述第二预设数量小于所述第一应答信息包括的音乐小节的总数量,将所述第一文件头、每次提取的所述第二预设数量的音乐小节对应的语音数据和所述第一文件尾封装成一个第一语音数据包。
可选地,所述装置还包括:压缩模块(图中未示出)。
压缩模块,用于每封装一个第一语音数据包,对所述第一语音数据包中的所述第一应答信息进行压缩处理。
可选地,所述装置还包括:序列号设置模块(图中未示出)。
序列号设置模块,用于根据各个所述第一语音数据包中的所述第一应答信息的播放顺序,为各个所述第一语音数据包设置对应的序列号,其中,各个所述第一语音数据包的发送顺序根据所述序列号确定。
可选地,所述装置还包括:第一获取模块、信息发送模块、数据包接收模块和信息播放模块(图中未示出)。
第一获取模块,用于获取第二请求信息。
信息发送模块,用于向第二设备发送所述第二请求信息,以使得所述第二设备根据所述第二请求信息生成语音形式的第二应答信息,并将所述第二应答信息封装成多个第二语音数据包,每一个第二语音数据包中包括:第二文件头、第二文件尾,以及所述第二应答信息中的部分语音数据。
数据包接收模块,用于接收所述第二设备通过所述长连接方式发送的所述第二语音数据包。
信息播放模块,用于从接收到第一个所述第二语音数据包开始,根据所述第二语音数据包中的所述第二文件头和所述第二文件尾,播放所述第二语音数据包中的第二应答信息。
可选地,所述装置还包括:解压缩模块(图中未示出)。
解压缩模块,用于每接收到一个第二语音数据包,对已接收的所述第二语音数据包中的所述第二应答信息进行解压缩处理。
可选地,所述装置还包括:序列号读取模块和顺序确定模块(图中未示出)。
序列号读取模块,用于从所述第二语音数据包中读取序列号。
顺序确定模块,用于根据所述第二语音数据包的序列号,确定所述第二语音数据包中的部分所述第二应答信息的播放顺序。
可选地,所述装置还包括:时长计算模块和资源释放模块(图中未示出)。
时长计算模块,用于在接收到最后一个第二语音数据包之后,计算所述第二应答信息的总播放时长。
资源释放模块,用于当所述第二应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第二应答信息所需的资源。
可选地,所述装置还包括:第二获取模块和长连接断开模块(图中未示出)。
第二获取模块,用于获取用于指示停止语音问答服务的第三请求信息。
长连接断开模块,用于向所述第二设备发送所述第三请求信息,以使得所述第二设备在检测到所述第三请求信息用于指示停止语音问答服务时,断开与第三设备之间建立的长连接。
综上所述,本发明实施例提供的装置,通过将应答信息封装成多个语音数据包,并通过长连接方式传输上述语音数据包,请求方设备在接收到第一个语音数据包开始,即可读取并播放语音数据包中的应答信息;由于无需等到应答信息全部下载完毕后再播放应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
请参考图8,其示出了本发明另一个实施例提供的数据传输装置的框图。该装置具有实现上述方法实施例中第一设备侧的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以包括:第一获取模块801、信息发送模块802、数据包接收模块803和信息播放模块804。
第一获取模块801,用于获取第一请求信息。
信息发送模块802,用于向第三设备发送所述第一请求信息,以使得所述第三设备根据所述第一请求信息生成语音形式的第一应答信息,并将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据。
数据包接收模块803,用于接收所述第三设备通过所述长连接方式发送的所述第一语音数据包。
信息播放模块804,用于从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息。
可选地,所述装置还包括:解压缩模块(图中未示出)。
解压缩模块,用于每接收到一个第一语音数据包,对已接收的所述第一语音数据包中的所述第一应答信息进行解压缩处理。
可选地,所述装置还包括:序列号读取模块和顺序确定模块(图中未示出)。
序列号读取模块,用于从所述第一语音数据包中读取序列号。
顺序确定模块,用于根据所述第一语音数据包的序列号,确定所述第一语音数据包中的所述第一应答信息的播放顺序。
可选地,所述装置还包括:时长计算模块和资源释放模块(图中未示出)。
时长计算模块,用于在接收到最后一个第一语音数据包之后,计算所述第一应答信息的总播放时长。
资源释放模块,用于当所述第一应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第一应答信息所需的资源。
可选地,所述装置还包括:第二获取模块和长连接断开模块(图中未示出)。
第二获取模块,用于获取用于指示停止语音问答服务的第三请求信息。
长连接断开模块,用于向所述第二设备发送所述第三请求信息,以使得所述第二设备在检测到所述第三请求信息用于指示停止语音问答服务时,断开与第一设备之间建立的长连接。
综上所述,本发明实施例提供的装置,通过将应答信息封装成多个语音数据包,并通过长连接方式传输上述语音数据包,请求方设备在接收到第一个语音数据包开始,即可读取并播放语音数据包中的应答信息;由于无需等到应答信息全部下载完毕后再播放应答信息,从而缩短请求方设备从获取请求信息至播放应答信息所需的耗时,也即缩短请求方设备给用户提供应答的响应时间。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图9,其示出了本发明一个实施例提供的设备900的结构示意图。该设备900用于实施上述实施例中提供的第一设备侧的数据传输方法。具体来讲:
设备900可以包括RF(Radio Frequency,射频)电路910、包括有一个或一个以上计算机可读存储介质的存储器920、输入单元930、显示单元940、传感器950、音频电路960、WiFi(wireless fidelity,无线保真)模块970、包括有一个或者一个以上处理核心的处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的智能设备结构并不构成对智能设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器980处理;另外,将涉及上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路 910还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、 CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据设备900的使用所创建的数据(比如音频数据、电话本等) 等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器920还可以包括存储器控制器,以提供处理器980和输入单元 930对存储器920的访问。
输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括图像输入设备931以及其他输入设备932。图像输入设备 931可以是摄像头,也可以是光电扫描设备。除了图像输入设备931,输入单元 930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及设备 900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用 LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板941。
设备900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在设备900移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于设备900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与设备900之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一智能设备,或者将音频数据输出至存储器920以便进一步处理。音频电路960还可能包括耳塞插孔,以提供外设耳机与设备900的通信。
WiFi属于短距离无线传输技术,设备900通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于设备 900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是设备900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行智能设备900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理核心;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
设备900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源990还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,设备900还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,设备900还包括有存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述第一设备侧的数据传输方法。
请参考图10,其示出了本发明另一个实施例提供的设备1000的结构方框图。该设备1000用于实施上述实施例中提供的第二设备侧的数据传输方法。
所述设备1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM) 1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004 和中央处理单元1001的系统总线1005。所述设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器 (未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,所述设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即设备1000可以通过连接在所述系统总线 1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述第三设备侧的数据传输方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由智能设备的处理器加载并执行以实现上述方法实施例中第一设备侧的各个步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由服务器的处理器加载并执行以实现上述方法实施例中第三设备侧的各个步骤。
可选地,上述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、 CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法实施例中第一设备侧的各个步骤的功能。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法实施例中第三设备侧的各个步骤的功能。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据传输方法,其特征在于,所述方法包括:
接收第一设备发送的第一请求信息;
根据所述第一请求信息生成语音形式的第一应答信息;
获取所述第一应答信息的内容类型;
若所述第一应答信息的内容类型为导航类型,则依次从所述第一应答信息中提取预设长度的路线对应的语音数据,所述预设长度小于所述第一应答信息指示的路线的总长度,将第一文件头、每次提取的所述预设长度的路线对应的语音数据和第一文件尾封装成一个第一语音数据包;
或者,若所述第一应答信息的内容类型为音乐类型,则依次从所述第一应答信息中提取第二预设数量的音乐小节对应的语音数据,所述第二预设数量小于所述第一应答信息包括的音乐小节的总数量,将第一文件头、每次提取的所述第二预设数量的音乐小节对应的语音数据和第一文件尾封装成一个第一语音数据包;
通过长连接方式向所述第一设备发送所述第一语音数据包,以使得所述第一设备从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息;
获取第二请求信息;
向第二设备发送所述第二请求信息,以使得所述第二设备根据所述第二请求信息生成语音形式的第二应答信息,并将所述第二应答信息封装成多个第二语音数据包,每一个第二语音数据包中包括:第二文件头、第二文件尾,以及所述第二应答信息中的部分语音数据;
接收所述第二设备通过所述长连接方式发送的所述第二语音数据包;
从接收到第一个所述第二语音数据包开始,根据所述第二语音数据包中的所述第二文件头和所述第二文件尾,播放所述第二语音数据包中的第二应答信息;
在接收到最后一个第二语音数据包之后,计算所述第二应答信息的总播放时长;
当所述第二应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第二应答信息所需的资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每封装一个第一语音数据包,对所述第一语音数据包中的第一应答信息进行压缩处理。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一应答信息封装成多个第一语音数据包之后,还包括:
根据各个所述第一语音数据包中的第一应答信息的播放顺序,为各个所述第一语音数据包设置对应的序列号,其中,各个所述第一语音数据包的发送顺序根据所述序列号确定。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用于指示停止语音问答服务的第三请求信息;
向所述第二设备发送所述第三请求信息,以使得所述第二设备在检测到所述第三请求信息用于指示停止语音问答服务时,断开与本端之间建立的长连接。
5.一种数据传输方法,其特征在于,所述方法包括:
获取第一请求信息;
向第三设备发送所述第一请求信息,以使得所述第三设备根据所述第一请求信息生成语音形式的第一应答信息,并根据所述第一应答信息的内容类型,将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;其中,若所述第一应答信息的内容类型为导航类型,则依次从所述第一应答信息中提取预设长度的路线对应的语音数据,所述预设长度小于所述第一应答信息指示的路线的总长度,将第一文件头、每次提取的所述预设长度的路线对应的语音数据和第一文件尾封装成一个第一语音数据包;或者,若所述第一应答信息的内容类型为音乐类型,则依次从所述第一应答信息中提取第二预设数量的音乐小节对应的语音数据,所述第二预设数量小于所述第一应答信息包括的音乐小节的总数量,将第一文件头、每次提取的所述第二预设数量的音乐小节对应的语音数据和第一文件尾封装成一个第一语音数据包;
接收所述第三设备通过长连接方式发送的所述第一语音数据包;
从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息;
在接收到最后一个第一语音数据包之后,计算所述第一应答信息的总播放时长;
当所述第一应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第一应答信息所需的资源。
6.一种数据传输装置,其特征在于,所述装置包括:
信息接收模块,用于接收第一设备发送的第一请求信息;
信息生成模块,用于根据所述第一请求信息生成语音形式的第一应答信息;
数据包封装模块,用于获取所述第一应答信息的内容类型;若所述第一应答信息的内容类型为导航类型,则依次从所述第一应答信息中提取预设长度的路线对应的语音数据,所述预设长度小于所述第一应答信息指示的路线的总长度,将第一文件头、每次提取的所述预设长度的路线对应的语音数据和第一文件尾封装成一个第一语音数据包;或者,若所述第一应答信息的内容类型为音乐类型,则依次从所述第一应答信息中提取第二预设数量的音乐小节对应的语音数据,所述第二预设数量小于所述第一应答信息包括的音乐小节的总数量,将第一文件头、每次提取的所述第二预设数量的音乐小节对应的语音数据和第一文件尾封装成一个第一语音数据包;
数据包发送模块,用于通过长连接方式向所述第一设备发送所述第一语音数据包,以使得所述第一设备从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息;
第一获取模块,用于获取第二请求信息;
信息发送模块,用于向第二设备发送所述第二请求信息,以使得所述第二设备根据所述第二请求信息生成语音形式的第二应答信息,并将所述第二应答信息封装成多个第二语音数据包,每一个第二语音数据包中包括:第二文件头、第二文件尾,以及所述第二应答信息中的部分语音数据;
数据包接收模块,用于接收所述第二设备通过所述长连接方式发送的所述第二语音数据包;
信息播放模块,用于从接收到第一个所述第二语音数据包开始,根据所述第二语音数据包中的所述第二文件头和所述第二文件尾,播放所述第二语音数据包中的第二应答信息;
时长计算模块,用于在接收到最后一个第二语音数据包之后,计算所述第二应答信息的总播放时长;
资源释放模块,用于当所述第二应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第二应答信息所需的资源。
7.一种数据传输装置,其特征在于,所述装置包括:
信息获取模块,用于获取第一请求信息;
信息发送模块,用于向第三设备发送所述第一请求信息,以使得所述第三设备根据所述第一请求信息生成语音形式的第一应答信息,并根据所述第一应答信息的内容类型,将所述第一应答信息封装成多个第一语音数据包,每一个第一语音数据包中包括:第一文件头、第一文件尾,以及所述第一应答信息中的部分语音数据;其中,若所述第一应答信息的内容类型为导航类型,则依次从所述第一应答信息中提取预设长度的路线对应的语音数据,所述预设长度小于所述第一应答信息指示的路线的总长度,将第一文件头、每次提取的所述预设长度的路线对应的语音数据和第一文件尾封装成一个第一语音数据包;或者,若所述第一应答信息的内容类型为音乐类型,则依次从所述第一应答信息中提取第二预设数量的音乐小节对应的语音数据,所述第二预设数量小于所述第一应答信息包括的音乐小节的总数量,将第一文件头、每次提取的所述第二预设数量的音乐小节对应的语音数据和第一文件尾封装成一个第一语音数据包;
数据包接收模块,用于接收所述第三设备通过长连接方式发送的所述第一语音数据包;
信息播放模块,用于从接收到第一个所述第一语音数据包开始,根据所述第一语音数据包中的所述第一文件头和所述第一文件尾,播放所述第一语音数据包中的第一应答信息;
时长计算模块,用于在接收到最后一个第一语音数据包之后,计算所述第一应答信息的总播放时长;
资源释放模块,用于当所述第一应答信息的已播放时长达到所述总播放时长时,释放播放资源,所述播放资源是播放所述第一应答信息所需的资源。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至4任一项所述的数据传输方法,或者如权利要求5所述的数据传输方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至4任一项所述的数据传输方法,或者如权利要求5所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710668691.6A CN107274882B (zh) | 2017-08-08 | 2017-08-08 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710668691.6A CN107274882B (zh) | 2017-08-08 | 2017-08-08 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107274882A CN107274882A (zh) | 2017-10-20 |
CN107274882B true CN107274882B (zh) | 2022-10-25 |
Family
ID=60079663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710668691.6A Active CN107274882B (zh) | 2017-08-08 | 2017-08-08 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107274882B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108880993A (zh) * | 2018-07-02 | 2018-11-23 | 广东小天才科技有限公司 | 一种语音即时通信方法、系统及移动终端 |
CN110113497B (zh) * | 2019-04-12 | 2022-01-11 | 深圳壹账通智能科技有限公司 | 基于语音交互的语音外呼方法、装置、终端及存储介质 |
CN110417644A (zh) * | 2019-07-29 | 2019-11-05 | 中国工商银行股份有限公司 | 即时通讯的消息发送方法及装置 |
CN112581934A (zh) * | 2019-09-30 | 2021-03-30 | 北京声智科技有限公司 | 一种语音合成方法、装置及系统 |
CN113726960B (zh) * | 2020-05-26 | 2022-09-30 | 中国电信股份有限公司 | 多ai能力引擎对接和内容分发装置、方法和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421389B2 (en) * | 2002-11-13 | 2008-09-02 | At&T Knowledge Ventures, L.P. | System and method for remote speech recognition |
US20080270142A1 (en) * | 2007-04-25 | 2008-10-30 | Find 1-4-U Inc. | Remote Interactive Information Delivery System |
CN106230689B (zh) * | 2016-07-25 | 2019-07-05 | 北京奇虎科技有限公司 | 一种语音信息交互的方法、装置及服务器 |
CN106302437A (zh) * | 2016-08-11 | 2017-01-04 | 北京云知声信息技术有限公司 | 语音处理方法及装置 |
CN106356060B (zh) * | 2016-08-23 | 2020-08-14 | 北京小米移动软件有限公司 | 语音通信方法及装置 |
CN106504742B (zh) * | 2016-11-14 | 2019-09-20 | 海信集团有限公司 | 合成语音的传输方法、云端服务器和终端设备 |
CN106850605A (zh) * | 2017-01-20 | 2017-06-13 | 北京云知声信息技术有限公司 | 一种数据处理方法及装置 |
-
2017
- 2017-08-08 CN CN201710668691.6A patent/CN107274882B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107274882A (zh) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107274882B (zh) | 数据传输方法及装置 | |
CN109379641B (zh) | 一种字幕生成方法和装置 | |
CN109117361B (zh) | 一种小程序的远程调试方法、相关设备及系统 | |
CN107454416B (zh) | 视频流发送方法和装置 | |
US11934352B2 (en) | Card rendering method and electronic device | |
CN106412662B (zh) | 时间戳分配方法及装置 | |
CN106789562B (zh) | 一种虚拟物品发送方法、接收方法、装置和系统 | |
CN108900856B (zh) | 一种视频帧率预测方法、装置及设备 | |
CN107995519B (zh) | 多媒体文件播放的方法、装置和存储介质 | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
CN103391473B (zh) | 一种提供及获取音视频的方法和装置 | |
CN109151494B (zh) | 多媒体数据传输方法、多媒体采集设备及服务器 | |
WO2014079382A1 (zh) | 语音传输方法、终端、语音服务器及语音传输系统 | |
CN111093094A (zh) | 视频转码方法、装置、系统及电子设备及可读存储介质 | |
CN104598443A (zh) | 语言服务提供方法、装置及系统 | |
CN110418181B (zh) | 对智能电视的业务处理方法、装置、智能设备及存储介质 | |
CN109120993B (zh) | 语音识别方法、智能终端、语音识别系统及可读存储介质 | |
CN110300047B (zh) | 一种动画播放方法、装置及存储介质 | |
CN111917813A (zh) | 通信方法、装置、设备、系统及存储介质 | |
WO2021103741A1 (zh) | 内容处理方法、装置、计算机设备及存储介质 | |
CN110198452B (zh) | 一种直播视频的预览方法、装置及系统 | |
CN109194998A (zh) | 数据传输方法、装置、电子设备及计算机可读介质 | |
CN107277592B (zh) | 基于嵌入式平台的多媒体数据播放方法、装置及存储介质 | |
CN113299285A (zh) | 设备控制方法、装置、电子设备及计算机可读存储介质 | |
CN103856552A (zh) | 用于互动直播的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |