本發(fā)明實(shí)施例涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
目前,用戶可以與智能設(shè)備之間進(jìn)行人機(jī)交互。例如,用戶通過語音的方式向智能音箱詢問天氣、百科等內(nèi)容,智能音箱采集語音信息之后,同樣以語音的方式回答用戶詢問的相關(guān)內(nèi)容。
相關(guān)技術(shù)中,上述人機(jī)交互的具體流程如下:智能音箱中的客戶端獲取智能音箱采集的語音信息,并將該語音信息發(fā)送至服務(wù)器,該語音信息可以是用戶要詢問的問題,例如“今天天氣如何”;服務(wù)器查詢獲取與上述問題相關(guān)的應(yīng)答信息,上述應(yīng)答信息同樣是語音形式;之后,服務(wù)器向上述客戶端返回應(yīng)答信息對(duì)應(yīng)的統(tǒng)一資源定位符(uniformresourcelocator,url),上述客戶端可通過攜帶url的超文本傳輸協(xié)議(hypertexttransferprotocol,http)請(qǐng)求從服務(wù)器處下載上述應(yīng)答信息,并在上述應(yīng)答信息全部下載完畢之后由智能音箱播放應(yīng)答信息。
上述相關(guān)技術(shù)存在如下問題:若應(yīng)答信息的數(shù)據(jù)量較大,則客戶端通過http請(qǐng)求下載應(yīng)答信息花費(fèi)的時(shí)間較長,從而導(dǎo)致客戶端從獲取語音信息到播放應(yīng)答信息所需的耗時(shí)較長,也即給用戶提供應(yīng)答的響應(yīng)時(shí)間過長。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸方法及裝置,用以解決相關(guān)技術(shù)所存在的智能設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間過長的問題。所述技術(shù)方案如下:
第一方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
接收第一設(shè)備發(fā)送的第一請(qǐng)求信息;
根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息;
將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù);
通過長連接方式向所述第一設(shè)備發(fā)送所述第一語音數(shù)據(jù)包,以使得所述第一設(shè)備從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
第二方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
獲取第一請(qǐng)求信息;
向第三設(shè)備發(fā)送所述第一請(qǐng)求信息,以使得所述第三設(shè)備根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息,并將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù);
接收所述第三設(shè)備通過長連接方式發(fā)送的所述第一語音數(shù)據(jù)包;
從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
第三方面,提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:
信息接收模塊,用于接收第一設(shè)備發(fā)送的第一請(qǐng)求信息;
信息生成模塊,用于根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息;
數(shù)據(jù)包封裝模塊,用于將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù);
數(shù)據(jù)包發(fā)送模塊,用于通過長連接方式向所述第一設(shè)備發(fā)送所述第一語音數(shù)據(jù)包,以使得所述第一設(shè)備從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
第四方面,提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:
信息獲取模塊,用于獲取第一請(qǐng)求信息;
信息發(fā)送模塊,用于向第三設(shè)備發(fā)送所述第一請(qǐng)求信息,以使得所述第三設(shè)備根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息,并將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù);
數(shù)據(jù)包接收模塊,用于接收所述第三設(shè)備通過長連接方式發(fā)送的所述第一語音數(shù)據(jù)包;
信息播放模塊,用于從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
第五方面,提供了一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由所述處理器加載并執(zhí)行以實(shí)現(xiàn)如第一方面所述的數(shù)據(jù)傳輸方法,或者如第二方面所述的數(shù)據(jù)傳輸方法。
第六方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由處理器加載并執(zhí)行以實(shí)現(xiàn)如第一方面所述的數(shù)據(jù)傳輸方法,或者如第二方面所述的數(shù)據(jù)傳輸方法。
第七方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)該計(jì)算機(jī)程序產(chǎn)品被執(zhí)行時(shí),其用于執(zhí)行上述第一方面所述的數(shù)據(jù)傳輸方法,或者第二方面所述的數(shù)據(jù)傳輸方法。
本發(fā)明實(shí)施例提供的技術(shù)方案可以帶來如下有益效果:
通過將應(yīng)答信息封裝成多個(gè)語音數(shù)據(jù)包,并通過長連接方式傳輸上述語音數(shù)據(jù)包,請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可讀取并播放語音數(shù)據(jù)包中的應(yīng)答信息;由于無需等到應(yīng)答信息全部下載完畢后再播放應(yīng)答信息,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的實(shí)施環(huán)境的示意圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的實(shí)施環(huán)境的示意圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖;
圖4a是本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖;
圖4b是本發(fā)明一個(gè)實(shí)施例提供的第三設(shè)備與第一設(shè)備之間的交互示意圖;
圖4c是本發(fā)明另一個(gè)實(shí)施例提供的第三設(shè)備與第一設(shè)備之間的交互示意圖;
圖5是本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖;
圖6是本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖;
圖7是本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸裝置的框圖;
圖8是本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸裝置的框圖;
圖9是本發(fā)明一個(gè)實(shí)施例提供的設(shè)備的結(jié)構(gòu)示意圖;
圖10是本發(fā)明另一個(gè)實(shí)施例提供的設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
請(qǐng)參考圖1,其示出了本發(fā)明一個(gè)實(shí)施例提供的實(shí)施環(huán)境的示意圖。該實(shí)施環(huán)境包括:設(shè)備11和設(shè)備12。
設(shè)備11具有播放語音信息的功能。設(shè)備11可以是諸如智能音箱、智能導(dǎo)航儀等智能設(shè)備,還可以是手機(jī)、平板電腦等電子設(shè)備。可選地,設(shè)備11中運(yùn)行有客戶端,該客戶端具備播放語音數(shù)據(jù)包,以及與設(shè)備12之間進(jìn)行交互的功能。設(shè)備11可以稱為請(qǐng)求方設(shè)備。
設(shè)備12用于為設(shè)備11提供語音應(yīng)答服務(wù)。例如,設(shè)備11運(yùn)行有客戶端時(shí),設(shè)備12用于為設(shè)備11中的客戶端提供后臺(tái)服務(wù),例如語音識(shí)別、語義分析、獲取應(yīng)答信息等。設(shè)備12可以是服務(wù)器。上述服務(wù)器可以是一臺(tái)服務(wù)器,也可以是由若干臺(tái)服務(wù)器組成的服務(wù)器集群,或者是一個(gè)云計(jì)算服務(wù)中心。在其它可能的實(shí)現(xiàn)方式中,設(shè)備12也可以是諸如手機(jī)、平板電腦之類的終端。設(shè)備12可以稱為應(yīng)答方設(shè)備。
設(shè)備11可以通過網(wǎng)絡(luò)與設(shè)備12建立通信連接。該網(wǎng)絡(luò)可以是無線網(wǎng)絡(luò),也可以是有線網(wǎng)絡(luò)。
在實(shí)際應(yīng)用中,設(shè)備11和設(shè)備12可以是兩個(gè)具有不同功能的設(shè)備,其中設(shè)備11具備請(qǐng)求語音應(yīng)答服務(wù)的功能,設(shè)備12具備提供語音應(yīng)答服務(wù)的功能,例如,設(shè)備11為終端(如智能音箱),設(shè)備12為服務(wù)器?;蛘?,設(shè)備11和設(shè)備12也可以是兩個(gè)具有相同功能的設(shè)備,該設(shè)備既具備請(qǐng)求語音應(yīng)答服務(wù)又具備提供語音應(yīng)答服務(wù)的功能,例如,設(shè)備11和設(shè)備12均為終端(如手機(jī))。
在一個(gè)示例中,如圖2所示,當(dāng)設(shè)備12為服務(wù)器,且該服務(wù)器為集群架構(gòu)時(shí),服務(wù)器可以包括:業(yè)務(wù)服務(wù)器21、語義服務(wù)器22和tts(texttospeech,從文本到語音)服務(wù)器23。
業(yè)務(wù)服務(wù)器21用于提供與設(shè)備11中的客戶端之間通訊的功能。例如,業(yè)務(wù)服務(wù)器21用于提供與設(shè)備11中的客戶端之間進(jìn)行文字、圖片、語音、視頻等消息的收發(fā)功能。
語義服務(wù)器22用于提供對(duì)語音信息進(jìn)行語音識(shí)別以及語義分析的功能。
tts服務(wù)器23用于提供將文本信息轉(zhuǎn)化為語音信息、封裝語音數(shù)據(jù)包等功能??蛇x地,tts服務(wù)器23還提供壓縮語音數(shù)據(jù)包的功能。
上述各個(gè)服務(wù)器之間可通過網(wǎng)絡(luò)建立通信連接。該網(wǎng)絡(luò)可以是無線網(wǎng)絡(luò),也可以是有線網(wǎng)絡(luò)。
在相關(guān)技術(shù)中,服務(wù)器向智能設(shè)備返回應(yīng)答信息涉及的實(shí)現(xiàn)過程如下:服務(wù)器將語音形式的應(yīng)答信息拆分為多個(gè)語音切片,并補(bǔ)充用于描述上述多個(gè)語音切片的播放順序的元數(shù)據(jù),之后服務(wù)器先向智能設(shè)備發(fā)送上述多個(gè)語音切片,最后向智能設(shè)備發(fā)送元數(shù)據(jù)。由于智能設(shè)備在播放語音切片中的應(yīng)答信息時(shí),需要對(duì)元數(shù)據(jù)進(jìn)行解析,以獲取播放語音切片的順序,因此相關(guān)技術(shù)中需要等應(yīng)答信息全部下載完畢后才能播放。
基于上述問題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸方法,以及基于該方法的裝置、設(shè)備及系統(tǒng)。在本發(fā)明實(shí)施例中,通過將應(yīng)答信息封裝成多個(gè)語音數(shù)據(jù)包,并通過長連接方式發(fā)送上述語音數(shù)據(jù)包,請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可讀取并播放語音數(shù)據(jù)包中的應(yīng)答信息;由于無需等到應(yīng)答信息全部下載完畢后再播放應(yīng)答信息,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
請(qǐng)參考圖3,其示出了本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖。該方法可以應(yīng)用于圖1所示的實(shí)施環(huán)境中,其中,設(shè)備11也即第一設(shè)備,設(shè)備12也即第三設(shè)備。該方法可以包括如下幾個(gè)步驟。
步驟301,第一設(shè)備獲取第一請(qǐng)求信息。
第一請(qǐng)求信息用于請(qǐng)求與第一請(qǐng)求信息中的內(nèi)容相關(guān)的應(yīng)答。第一請(qǐng)求信息可以是語音形式的請(qǐng)求信息,也可以是文本形式的請(qǐng)求信息。第一請(qǐng)求信息中可以是用戶提出的問題,比如“今天天氣怎么樣”,第一請(qǐng)求信息還可以是命令式的語句,比如“請(qǐng)告訴我發(fā)明的含義”,本發(fā)明實(shí)施例對(duì)此不作限定。
在一個(gè)示例中,若第一請(qǐng)求信息是語音形式的信息,該第一請(qǐng)求信息可以由第一設(shè)備采集得到??蛇x地,第一設(shè)備提供有觸發(fā)采集語音信號(hào)的功能控件,用戶長按上述功能控件觸發(fā)第一設(shè)備的麥克風(fēng)采集語音信號(hào),并在用戶停止長按操作后結(jié)束對(duì)語音信號(hào)的采集,采集結(jié)束后,第一設(shè)備對(duì)采集到的語音信號(hào)進(jìn)行濾波、采樣、編碼等處理,得到第一請(qǐng)求信息。
在另一個(gè)示例中,若第一請(qǐng)求信息是文本形式的信息,該第一請(qǐng)求信息可以由用戶輸入??蛇x地,第一設(shè)備提供有輸入框,用戶在輸入框輸入第一請(qǐng)求信息。
步驟302,第一設(shè)備向第三設(shè)備發(fā)送第一請(qǐng)求信息。
可選地,第一設(shè)備向第三設(shè)備發(fā)送應(yīng)答信息獲取請(qǐng)求。上述應(yīng)答信息獲取請(qǐng)求中攜帶有第一請(qǐng)求信息。
可選地,第一設(shè)備通過長連接方式向第三設(shè)備發(fā)送請(qǐng)求信息。長連接方式是指該連接一直處于保持的狀態(tài),能夠提供穩(wěn)定的接入服務(wù),也即第一設(shè)備與第三設(shè)備之間多次傳輸數(shù)據(jù)時(shí)無需重新建立新的連接。上述長連接方式可以是即時(shí)通訊鏈路??蛇x地,第一設(shè)備啟動(dòng)后,先與第三設(shè)備建立傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)連接,再與第三設(shè)備建立即時(shí)通訊鏈路。通過上述方式,第一設(shè)備在下次向第三設(shè)備發(fā)送第一請(qǐng)求信息時(shí),無需重新建立連接,可以提高發(fā)送請(qǐng)求信息的效率。
相應(yīng)地,第三設(shè)備接收第一設(shè)備發(fā)送的第一請(qǐng)求信息。
步驟303,第三設(shè)備根據(jù)第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息。
第一應(yīng)答信息是第三設(shè)備針對(duì)第一請(qǐng)求信息提供的應(yīng)答。例如,第一請(qǐng)求信息為“今天溫度多少”,第一應(yīng)答信息為“32攝氏度”。再例如,第一請(qǐng)求信息為“牛奶的英文是什么”,第一應(yīng)答信息為“milk”。
可選地,步驟303包括如下幾個(gè)子步驟。
步驟303a,當(dāng)?shù)谝徽?qǐng)求信息為語音形式時(shí),對(duì)第一請(qǐng)求信息進(jìn)行語音識(shí)別得到第一請(qǐng)求信息文本;
由于第三設(shè)備不能直接對(duì)語音形式的請(qǐng)求信息進(jìn)行語義分析,因此當(dāng)?shù)谝徽?qǐng)求信息為語音形式時(shí),則需要由第三設(shè)備對(duì)第一請(qǐng)求信息進(jìn)行語音識(shí)別,進(jìn)而得到第一請(qǐng)求信息文本。
在本發(fā)明實(shí)施例中,對(duì)第一請(qǐng)求信息進(jìn)行語音識(shí)別所采取的算法可以是基于聲道模型和語音知識(shí)的算法、動(dòng)態(tài)時(shí)間規(guī)整(dynamictimewarping,dtw)算法、隱馬爾可夫模型(hiddenmarkovmodel,hmm)算法、矢量量化(vectorquantization)算法等等,本發(fā)明實(shí)施例對(duì)此不作限定。
步驟303b,對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析;
語義分析是指挖掘與學(xué)習(xí)文本、圖片等的深層次概念。在本發(fā)明實(shí)施例中,對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析可以是對(duì)第一請(qǐng)求信息文本中的關(guān)鍵字識(shí)別并提取的過程。在本發(fā)明實(shí)施例中,對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析所采取的算法可以是單步算法、概率潛在語義分析算法等等,本發(fā)明實(shí)施例對(duì)此不作限定。
步驟303c,根據(jù)語義分析結(jié)果獲取語音形式的第一應(yīng)答信息。
語義分析結(jié)果是對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析的結(jié)果。
在一個(gè)示例中,第三設(shè)備先根據(jù)語義分析結(jié)果獲取第一應(yīng)答信息文本,再將第一應(yīng)答信息文本轉(zhuǎn)換成語音形式的第一應(yīng)答信息。
可選地,第三設(shè)備存儲(chǔ)有語義分析結(jié)果中的關(guān)鍵字與第一應(yīng)答信息文本之間的預(yù)設(shè)對(duì)應(yīng)關(guān)系,第三設(shè)備查找上述預(yù)設(shè)對(duì)應(yīng)關(guān)系,進(jìn)而獲取第一應(yīng)答信息文本。可選地,第三設(shè)備采用tts技術(shù)將第一應(yīng)答信息文本轉(zhuǎn)換為語音形式的第一應(yīng)答信息。在其它可能的示例中,將第一應(yīng)答信息文本轉(zhuǎn)換為語音形式的第一應(yīng)答信息還可以采用變分貝葉斯算法、有效基音頻率轉(zhuǎn)換算法、基于ipac-psola合成算法等,本發(fā)明實(shí)施例對(duì)此不作限定。例如,若第一請(qǐng)求信息為“今天天氣如何”,則第三設(shè)備先根據(jù)第一請(qǐng)求信息獲取第一應(yīng)答信息文本,再將第一應(yīng)答信息文本轉(zhuǎn)換為語音形式的第一應(yīng)答信息。
在另一個(gè)示例中,第三設(shè)備根據(jù)第一請(qǐng)求信息直接獲取語音形式的第一應(yīng)答信息??蛇x地,第三設(shè)備直接存儲(chǔ)語義分析結(jié)果中的關(guān)鍵字與語音形式的第一應(yīng)答信息之間的預(yù)設(shè)對(duì)應(yīng)關(guān)系,此時(shí)第三設(shè)備能根據(jù)語義分析結(jié)果直接獲取語音形式的第一應(yīng)答信息。例如,第一請(qǐng)求信息為“放首歌吧!”,則第三設(shè)備直接根據(jù)第一請(qǐng)求信息獲取語音形式的第一應(yīng)答信息,例如將某首歌曲的音頻文件作為第一應(yīng)答信息。
需要說明的是,當(dāng)?shù)谝徽?qǐng)求信息為文本形式的信息時(shí),則第三設(shè)備直接對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析,根據(jù)語義分析結(jié)果獲取語音形式的第一應(yīng)答信息。
步驟304,第三設(shè)備將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。
第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及第一應(yīng)答信息中的部分語音數(shù)據(jù)。第一文件頭在第一語音數(shù)據(jù)包中的位置位于上述部分語音數(shù)據(jù)之前,第一文件頭用于指示第一語音數(shù)據(jù)包的格式。其中,第一語音數(shù)據(jù)包的格式為音頻格式,如wav格式,mp3格式等等,本發(fā)明實(shí)施例對(duì)此不作限定??蛇x地,第一文件頭還用于指示第一語音數(shù)據(jù)包的數(shù)據(jù)量等信息。第一文件尾在第一語音數(shù)據(jù)包中的位置位于上述部分語音數(shù)據(jù)之后,第一文件尾是第一語音數(shù)據(jù)包的結(jié)束標(biāo)識(shí),其用于指示第一語音數(shù)據(jù)包為一個(gè)完整的文件。
在一個(gè)示例中,第三設(shè)備根據(jù)第一應(yīng)答信息的總數(shù)據(jù)量,將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包??蛇x地,步驟304包括如下兩個(gè)子步驟。
步驟304a,依次從第一應(yīng)答信息提取預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù);
步驟304b,將第一文件頭、每次提取的預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù)、第一文件尾封裝成一個(gè)語音數(shù)據(jù)包。
預(yù)設(shè)數(shù)據(jù)量小于第一應(yīng)答信息的總數(shù)據(jù)量。其中,預(yù)設(shè)數(shù)據(jù)量可根據(jù)需求預(yù)先設(shè)定,還可以根據(jù)語音數(shù)據(jù)包的總數(shù)據(jù)量確定。示例性地,預(yù)設(shè)數(shù)據(jù)量為2000字節(jié)(bytes)。
需要說明的是,若第三設(shè)備從第一應(yīng)答信息中至少一次地提取預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù)之后,剩余的語音數(shù)據(jù)的數(shù)據(jù)量小于預(yù)設(shè)數(shù)據(jù)量,則下一次提取過程中第三設(shè)備將剩余的語音數(shù)據(jù)全部提取。示例性地,第一應(yīng)答信息的總數(shù)據(jù)量為7200字節(jié),預(yù)設(shè)數(shù)據(jù)量為2000字節(jié),第三設(shè)備提取3次2000字節(jié)的應(yīng)答信息之后,第4次提取剩余的1200字節(jié)的應(yīng)答信息。第三設(shè)備提取預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù)之后,在上述語音數(shù)據(jù)之前添加第一文件頭,并在上述語音數(shù)據(jù)之后添加第一文件尾,之后將第一文件頭、預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù)、第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
可選地,在步驟304之前,還可以包括如下步驟:第三設(shè)備檢測(cè)第一應(yīng)答信息的數(shù)據(jù)量是否大于預(yù)設(shè)閾值;若第一應(yīng)答信息的數(shù)據(jù)量大于預(yù)設(shè)閾值,則將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,若第一應(yīng)答信息的數(shù)據(jù)量小于預(yù)設(shè)閾值,則將第一應(yīng)答消息封裝成一個(gè)第一語音數(shù)據(jù)包。上述預(yù)設(shè)閾值可根據(jù)經(jīng)驗(yàn)或?qū)嶒?yàn)設(shè)定,示例性地,預(yù)設(shè)閾值為6000字節(jié)。
在另一個(gè)示例中,第三設(shè)備根據(jù)第一應(yīng)答信息的總播放時(shí)長,將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。可選地,步驟304包括如下兩個(gè)子步驟:
步驟304c,依次從第一應(yīng)答信息中提取預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)。
步驟304d,將第一文件頭、每次提取的預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)和第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
預(yù)設(shè)播放時(shí)長小于第一應(yīng)答信息的總播放時(shí)長。其中,預(yù)設(shè)播放時(shí)長可根據(jù)需求預(yù)先設(shè)定,還可以根據(jù)第一應(yīng)答信息的總播放時(shí)長確定。示例性地,預(yù)設(shè)播放時(shí)長為30秒。
需要說明的是,若第三設(shè)備從第一應(yīng)答信息中至少一次地提取預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)之后,剩余的語音數(shù)據(jù)的播放時(shí)長小于預(yù)設(shè)播放時(shí)長,則下一次提取過程中第三設(shè)備將剩余的語音數(shù)據(jù)全部提取。示例性地,第一應(yīng)答信息的總播放時(shí)長為2分15秒,預(yù)設(shè)播放時(shí)長為30秒,第三設(shè)備提取4次播放時(shí)長為30秒的語音數(shù)據(jù)之后,第5次提取剩余的播放時(shí)長為15秒的語音數(shù)據(jù)。第三設(shè)備提取預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)之后,在上述語音數(shù)據(jù)之前添加第一文件頭,并在上述語音數(shù)據(jù)之后添加第一文件尾,之后將第一文件頭、預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)、第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
在另一個(gè)示例中,第三設(shè)備根據(jù)第一應(yīng)答信息的內(nèi)容類型,將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。可選地,步驟304包括如下子步驟。
步驟304e,獲取第一應(yīng)答信息的內(nèi)容類型;
上述內(nèi)容類型為語音播報(bào)類型或音樂類型。語音播報(bào)類型是指采用朗讀方式播放的應(yīng)答信息對(duì)應(yīng)的內(nèi)容類型。進(jìn)一步地,根據(jù)應(yīng)答信息的內(nèi)容,還可以將語音播報(bào)類型劃分為百科類型、故事類型和導(dǎo)航類型等等。音樂類型是指采用吟唱方式播放的應(yīng)答信息對(duì)應(yīng)的內(nèi)容類型。
可選地,第一應(yīng)答信息的內(nèi)容類型可以根據(jù)第一請(qǐng)求信息確定。第三設(shè)備中存儲(chǔ)有指定關(guān)鍵詞與內(nèi)容類型之間的預(yù)設(shè)對(duì)應(yīng)關(guān)系,第三設(shè)備檢測(cè)第一請(qǐng)求信息中是否包括指定關(guān)鍵詞,若包括指定關(guān)鍵詞,則根據(jù)上述預(yù)設(shè)對(duì)應(yīng)關(guān)系進(jìn)一步確定第一應(yīng)答信息的內(nèi)容類型。例如,第三設(shè)備檢測(cè)出第一請(qǐng)求信息中包括指定關(guān)鍵詞“音樂”、“歌曲”等,則確定第一請(qǐng)求信息的內(nèi)容類型為音樂類型。再例如,第三設(shè)備檢測(cè)出第一請(qǐng)求信息中包括指定關(guān)鍵詞“故事”、“天氣”等,則確定第一請(qǐng)求信息的內(nèi)容類型為語音播報(bào)類型。
可選地,第三設(shè)備還可以根據(jù)第一應(yīng)答信息的內(nèi)容確定第一應(yīng)答信息的內(nèi)容。在一個(gè)示例中,第三設(shè)備檢測(cè)第一應(yīng)答信息中是否包括指定關(guān)鍵詞,若包括指定關(guān)鍵詞,則根據(jù)上述預(yù)設(shè)對(duì)應(yīng)關(guān)系進(jìn)一步確定第一應(yīng)答信息的內(nèi)容類型。
步驟304f,根據(jù)第一應(yīng)答信息的內(nèi)容類型將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。
可選地,若第一應(yīng)答信息的內(nèi)容類型為語音播報(bào)類型,則依次從第一應(yīng)答信息中提取第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的語音數(shù)據(jù),第一預(yù)設(shè)數(shù)量小于第一應(yīng)答信息包括的句子的總數(shù)量,將第一文件頭、每次提取的第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的語音數(shù)據(jù)和第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。當(dāng)?shù)谝粦?yīng)答信息的內(nèi)容類型為語音播報(bào)類型時(shí),其通常由若干個(gè)句子組成,每個(gè)句子用于表達(dá)一個(gè)完整的意思,相鄰的兩個(gè)句子之間通常有停頓,因此第三設(shè)備可識(shí)別語音數(shù)據(jù)中的停頓,進(jìn)而拆分得到多個(gè)第一語音數(shù)據(jù)包。第一預(yù)設(shè)數(shù)量可以根據(jù)需求預(yù)先設(shè)定,還可以根據(jù)第一應(yīng)答信息包括的句子的總數(shù)量確定。示例性地,第一預(yù)設(shè)數(shù)量為3。
例如,語音形式的第一應(yīng)答信息為語音播報(bào)類型,播放時(shí)長為1分零4秒。其中,第11秒,第23秒,第32秒,第44秒,第51秒出現(xiàn)有停頓。則第三設(shè)備依次提取第1秒至第23秒的語音數(shù)據(jù)、第24秒至第44秒的語音數(shù)據(jù),第45秒至第1分零4秒的語音數(shù)據(jù),然后為上述三段語音數(shù)據(jù)分別添加相應(yīng)的第一文件頭和第一文件尾,進(jìn)而封裝得到三個(gè)第一語音數(shù)據(jù)包。
另外,若第三設(shè)備從第一應(yīng)答信息中至少一次地提取第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的語音數(shù)據(jù)之后,剩余的語音數(shù)據(jù)對(duì)應(yīng)的句子的數(shù)量小于第一預(yù)設(shè)數(shù)量,則下一次提取過程中第三設(shè)備將剩余的語音數(shù)據(jù)全部提取。
在其它可能的實(shí)施方式中,當(dāng)?shù)谝粦?yīng)答信息的內(nèi)容類型為語音播報(bào)類型時(shí),第三設(shè)備也可以先獲取第一應(yīng)答信息文本,在后續(xù)封裝第一語音數(shù)據(jù)包時(shí),第三設(shè)備可以先依次從第一應(yīng)答信息文本提取第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的文本數(shù)據(jù),之后將上述文本數(shù)據(jù)轉(zhuǎn)換成語音數(shù)據(jù),然后在上述語音數(shù)據(jù)之前添加第一文件頭,在上述語音數(shù)據(jù)之后添加第一文件尾,之后第三設(shè)備將第一文件頭、每次提取的第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的文本數(shù)據(jù)轉(zhuǎn)換得到的語音數(shù)據(jù)和第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。需要說明的是,在該示例中,第三設(shè)備通過識(shí)別文本數(shù)據(jù)中特定的符號(hào),例如句號(hào),進(jìn)而拆分得到多個(gè)第一語音數(shù)據(jù)包。
例如,第一應(yīng)答信息文本的內(nèi)容為“天氣晴轉(zhuǎn)多云。溫度26攝氏度。風(fēng)力2到3級(jí)。”,則第三設(shè)備依次從第一應(yīng)答信息文本中提取1個(gè)句子對(duì)應(yīng)的文本數(shù)據(jù)“天氣晴轉(zhuǎn)多云”、“溫度26攝氏度”、“風(fēng)力2到3級(jí)”,將上述三段文本數(shù)據(jù)轉(zhuǎn)換成語音數(shù)據(jù),然后為每段語音數(shù)據(jù)添加相應(yīng)的第一文件頭和第一文件尾,進(jìn)而封裝得到三個(gè)第一語音數(shù)據(jù)包。
可選地,若第一應(yīng)答信息的內(nèi)容類型為音樂類型,則依次從第一應(yīng)答信息中提取第二預(yù)設(shè)數(shù)量的音樂小節(jié)對(duì)應(yīng)的語音數(shù)據(jù),第二預(yù)設(shè)數(shù)量小于第一應(yīng)答信息包括的音樂小節(jié)的總數(shù)量,將第一文件頭、每次提取的第二預(yù)設(shè)數(shù)量的音樂小節(jié)對(duì)應(yīng)的語音數(shù)據(jù)和第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。當(dāng)?shù)谝粦?yīng)答信息的內(nèi)容類型為音樂類型時(shí),其通常由若干個(gè)音樂小節(jié)組成,音樂小節(jié)是節(jié)拍的單位,其是指一個(gè)強(qiáng)拍到下一個(gè)強(qiáng)拍之間的部分,第三設(shè)備可通過識(shí)別語音數(shù)據(jù)中的強(qiáng)拍,進(jìn)而拆分得到多個(gè)第一語音數(shù)據(jù)包。第二預(yù)設(shè)數(shù)量可以根據(jù)需求預(yù)先設(shè)定,還可以根據(jù)第一應(yīng)答信息包括的音樂小節(jié)的總數(shù)量確定。示例性地,第二預(yù)設(shè)數(shù)量為1。
例如,語音形式的第一應(yīng)答信息為某首歌曲,播放時(shí)長2分30秒,其中第37秒、第1分02秒、第1分52秒,第2分23秒出現(xiàn)有強(qiáng)拍,則第三設(shè)備依次提取第1秒至第37秒的語音數(shù)據(jù)、第38秒至第1分02秒的語音數(shù)據(jù)、第1分03秒至第1分52秒的語音數(shù)據(jù),第1分53秒至第2分30秒的語音數(shù)據(jù),然后為上述四段語音數(shù)據(jù)分別添加相應(yīng)的第一文件頭和第一文件尾,進(jìn)而封裝得到四個(gè)第一語音數(shù)據(jù)包。
另外,若第三設(shè)備從第一應(yīng)答信息中至少一次地提取第二預(yù)設(shè)數(shù)量的音樂小節(jié)對(duì)應(yīng)的語音數(shù)據(jù)之后,剩余的語音數(shù)據(jù)對(duì)應(yīng)的音樂小節(jié)的數(shù)量小于第二預(yù)設(shè)數(shù)量,則下一次提取過程中第三設(shè)備將剩余的語音數(shù)據(jù)全部提取。
可選地,當(dāng)?shù)谝粦?yīng)答信息的內(nèi)容類型為語音播報(bào)類型中的導(dǎo)航類型時(shí),還可以采用如下方式封裝第一語音數(shù)據(jù)包:依次從第一應(yīng)答信息中提取預(yù)設(shè)長度的路線對(duì)應(yīng)的語音數(shù)據(jù),預(yù)設(shè)長度小于第一應(yīng)答信息指示的路線的總長度,將第一文件頭、每次提取的預(yù)設(shè)長度的路線對(duì)應(yīng)的語音數(shù)據(jù)和第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。當(dāng)?shù)谝粦?yīng)答信息的內(nèi)容類型為導(dǎo)航類型時(shí),其通常用于指示從出發(fā)地點(diǎn)到目的地點(diǎn)之間的完整的路線。預(yù)設(shè)長度可以根據(jù)需求預(yù)先設(shè)定,還可以根據(jù)第一應(yīng)答信息指示的路線的總長度確定。示例性地,預(yù)設(shè)長度為3公里。另外,若第三設(shè)備從第一應(yīng)答信息中至少一次地提取預(yù)設(shè)長度的路線對(duì)應(yīng)的語音數(shù)據(jù)之后,剩余的語音數(shù)據(jù)指示的路線的長度小于預(yù)設(shè)長度,則下一次提取過程中第三設(shè)備將剩余的語音數(shù)據(jù)全部提取。
通過根據(jù)第一應(yīng)答信息的內(nèi)容類型進(jìn)行語音數(shù)據(jù)包的封裝,能夠確保每一個(gè)語音數(shù)據(jù)包中包含的應(yīng)答信息的完整性和連貫性。
在本發(fā)明實(shí)施例中,由于每個(gè)第一語音數(shù)據(jù)包均是完整的文件,因此,第一設(shè)備在接收到第一個(gè)第一語音數(shù)據(jù)包時(shí),即可開始播放語音數(shù)據(jù)包中的第一應(yīng)答信息,因此能夠減少第一設(shè)備從獲取第一請(qǐng)求信息至播放第一應(yīng)答信息所需的耗時(shí),縮短第一設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
步驟305,第三設(shè)備通過長連接方式向第一設(shè)備發(fā)送第一語音數(shù)據(jù)包。
長連接方式是指該連接一直處于保持的狀態(tài),能夠提供穩(wěn)定的接入服務(wù),也即第一設(shè)備與第三設(shè)備之間多次傳輸數(shù)據(jù)時(shí)無需重新建立新的連接。上述長連接方式可以是即時(shí)通訊鏈路。即時(shí)通訊鏈路是穩(wěn)定的長連接,第三設(shè)備向第一設(shè)備發(fā)送下一個(gè)第一語音數(shù)據(jù)包時(shí),可通過即時(shí)通訊鏈路發(fā)送,從而無需重新建立新的連接。通過上述方式,能提高傳輸?shù)谝徽Z音數(shù)據(jù)包的效率。此外,相比與相關(guān)技術(shù)中采用http連接來發(fā)送數(shù)據(jù)切片,本發(fā)明實(shí)施例采用長連接方式來傳輸?shù)谝徽Z音數(shù)據(jù)包,能夠充分減少亂序。
需要說明的是,在本發(fā)明實(shí)施例中,第三設(shè)備與第一設(shè)備之間傳輸?shù)氖钦Z音數(shù)據(jù)包,而并非是語音切片。若通過http連接來實(shí)現(xiàn)第三設(shè)備與第一設(shè)備之間的交互時(shí),則每發(fā)送一個(gè)語音數(shù)據(jù)包,第三設(shè)備與第一設(shè)備之間均需要重新建立http連接。此外,若網(wǎng)絡(luò)狀況較差,則第三設(shè)備與第一設(shè)備之間的http連接的多次建立過程均成功的概率較小,當(dāng)存在某一次http連接建立失敗的情況時(shí),第三設(shè)備無法向第一設(shè)備發(fā)送語音數(shù)據(jù)包;然而,第一設(shè)備與第三設(shè)備之間的長連接(比如即時(shí)通訊鏈路)只需建立一次,建立成功的概率較大,因此采用長連接方式能實(shí)現(xiàn)較為穩(wěn)定地傳輸?shù)谝徽Z音數(shù)據(jù)包。
相應(yīng)地,第一設(shè)備接收第三設(shè)備通過長連接方式發(fā)送的語音數(shù)據(jù)包。
步驟306,第一設(shè)備從接收到第一個(gè)第一語音數(shù)據(jù)包開始,根據(jù)第一語音數(shù)據(jù)包中的第一文件頭和第一文件尾,播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
第一文件頭中攜帶有用于指示第一語音數(shù)據(jù)包的格式的信息,因此第一設(shè)備可根據(jù)第一語音數(shù)據(jù)包中的第一文件頭確定第一語音數(shù)據(jù)包為音頻文件。第一文件尾是第一語音數(shù)據(jù)包的結(jié)束標(biāo)識(shí),第一設(shè)備可根據(jù)第一文件尾確定第一語音數(shù)據(jù)包是一個(gè)完整的文件,進(jìn)而識(shí)別并播放第一語音數(shù)據(jù)包。
由于每個(gè)第一語音數(shù)據(jù)包均是完整的文件,可以被第一設(shè)備識(shí)別并播放。因此,第一設(shè)備從接收到第一個(gè)第一語音數(shù)據(jù)包開始,即可讀取第一語音數(shù)據(jù)包中的部分第一應(yīng)答信息并播放讀取到的第一應(yīng)答信息。需要說明的是,第一設(shè)備播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息的同時(shí),第一設(shè)備依然執(zhí)行接收第三設(shè)備發(fā)送的第一語音數(shù)據(jù)包的步驟。
第一設(shè)備采用播放組件播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息。示例性地,上述播放組件可以是audiotrack。可選地,第一設(shè)備根據(jù)第一應(yīng)答信息的內(nèi)容類型,確定播放第一應(yīng)答信息的播放模式,并采用上述播放模式播放第一應(yīng)答信息。例如,對(duì)于導(dǎo)航類型的第一應(yīng)答信息,第一設(shè)備可以采用單聲道進(jìn)行播放;對(duì)于故事類型或百科類型的第一應(yīng)答信息,第一設(shè)備可以采用雙聲道進(jìn)行播放;對(duì)于音樂類型的第一應(yīng)答信息,第一設(shè)備可以采用立體聲進(jìn)行播放。針對(duì)不同內(nèi)容類型的第一應(yīng)答信息選取不同的播放模式,一方面能夠使第一設(shè)備的播放效果更加符合實(shí)際需求,另一方面能夠節(jié)省第一設(shè)備的電量。
綜上所述,本發(fā)明實(shí)施例提供的方法,通過應(yīng)答方設(shè)備將應(yīng)答信息封裝成多個(gè)語音數(shù)據(jù)包,并通過長連接方式發(fā)送上述語音數(shù)據(jù)包,請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可播放該語音數(shù)據(jù)包中的應(yīng)答信息;由于無需等到應(yīng)答信息全部下載完畢后再播放,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
請(qǐng)參考圖4a,其示出了本發(fā)明另一個(gè)實(shí)施例示出的數(shù)據(jù)傳輸方法的流程圖。該方法可應(yīng)用于圖1所示的實(shí)施環(huán)境中,其中,設(shè)備11也即第一設(shè)備,設(shè)備12也即第三設(shè)備。該方法可以包括如下幾個(gè)步驟:
步驟401,第一設(shè)備獲取第一請(qǐng)求信息。
步驟402,第一設(shè)備向第三設(shè)備發(fā)送第一請(qǐng)求信息。
相應(yīng)地,第三設(shè)備接收第一設(shè)備發(fā)送的第一請(qǐng)求信息。
步驟403,第三設(shè)備根據(jù)第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息。
步驟404,第三設(shè)備將第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。
每一個(gè)第一語音數(shù)據(jù)包包括:第一文件頭、第一文件尾,以及第一應(yīng)答信息中的部分語音數(shù)據(jù)。
步驟405,第三設(shè)備對(duì)各個(gè)第一語音數(shù)據(jù)包中的第一應(yīng)答信息進(jìn)行壓縮處理。
壓縮處理是指在不丟失有用信息的前提下,按照一定的算法對(duì)數(shù)據(jù)進(jìn)行重新組織,以減少數(shù)據(jù)的冗余,進(jìn)而實(shí)現(xiàn)減少存儲(chǔ)空間,提高其傳輸、存儲(chǔ)和處理效率??蛇x地,第三設(shè)備采用opus編碼器對(duì)各個(gè)第一語音數(shù)據(jù)包中的語音數(shù)據(jù)進(jìn)行壓縮處理。opus編碼器能有效減少第一語音數(shù)據(jù)包的數(shù)據(jù)量,進(jìn)而提高第一語音數(shù)據(jù)包的傳輸效率。例如,第一語音數(shù)據(jù)包的原始數(shù)據(jù)量為2880字節(jié),經(jīng)opus編碼器壓縮處理后,該第一語音數(shù)據(jù)包的數(shù)據(jù)量減少至300字節(jié)。在其它可能的示例中,對(duì)各個(gè)第一語音數(shù)據(jù)包進(jìn)行壓縮處理所采取的算法還可以是其它算法,本發(fā)明實(shí)施例對(duì)此不作限定。
可選地,每封裝一個(gè)第一語音數(shù)據(jù)包,則第三設(shè)備對(duì)第一語音數(shù)據(jù)包中的第一應(yīng)答信息進(jìn)行壓縮處理,也即,在本發(fā)明實(shí)施例中,每封裝一個(gè)第一語音數(shù)據(jù)包,則第三設(shè)備立刻對(duì)該第一語音數(shù)據(jù)包中的語音數(shù)據(jù)進(jìn)行壓縮處理,同時(shí)第三設(shè)備繼續(xù)封裝下一個(gè)第一語音數(shù)據(jù)包。將封裝得到第一語音數(shù)據(jù)包以及對(duì)第一語音數(shù)據(jù)包中的語音數(shù)據(jù)進(jìn)行壓縮處理并行處理,能夠進(jìn)一步降低第一設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí)。
步驟406,第三設(shè)備根據(jù)各個(gè)第一語音數(shù)據(jù)包中的第一應(yīng)答信息的播放順序,為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)。
第一語音數(shù)據(jù)包中包含的部分第一應(yīng)答信息的播放順序,可以根據(jù)該部分第一應(yīng)答信息在全部第一應(yīng)答信息中的位置決定。對(duì)于先后播放的部分第一應(yīng)答信息,先播放的部分第一應(yīng)答信息在全部第一應(yīng)答信息的位置,在后播放的部分第一應(yīng)答信息在全部第一應(yīng)答信息之前。
序列號(hào)用于指示第一設(shè)備播放各個(gè)第一語音數(shù)據(jù)包中的部分第一應(yīng)答信息的播放順序。序列號(hào)還用于指示第三設(shè)備向第一設(shè)備發(fā)送第一語音數(shù)據(jù)包的順序。此外,由于各個(gè)序列號(hào)之間互不重復(fù),因此序列號(hào)還可以用于唯一標(biāo)識(shí)第一語音數(shù)據(jù)包,后續(xù)第一設(shè)備接收到若干個(gè)第一語音數(shù)據(jù)包時(shí),可根據(jù)序列號(hào)對(duì)上述第一語音數(shù)據(jù)包進(jìn)行校驗(yàn),若存在序列號(hào)缺失時(shí),則說明該缺失的序列號(hào)對(duì)應(yīng)的第一語音數(shù)據(jù)包發(fā)送失敗,此時(shí)第一設(shè)備向第三設(shè)備發(fā)送數(shù)據(jù)包獲取請(qǐng)求,數(shù)據(jù)包獲取請(qǐng)求攜帶有缺失的序列號(hào),以使得第三設(shè)備重新發(fā)送缺失的序列號(hào)對(duì)應(yīng)的第一語音數(shù)據(jù)包。
可選地,第三設(shè)備根據(jù)各個(gè)第一語音數(shù)據(jù)包中包含的部分第一應(yīng)答信息的播放順序的先后,為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)。例如,第一個(gè)播放的第一語音數(shù)據(jù)包,第三設(shè)備為其設(shè)置的序列號(hào)為001,第二個(gè)播放的第一語音數(shù)據(jù)包,第三設(shè)備為其設(shè)置的序列號(hào)為002,等等。
需要說明的是,本發(fā)明實(shí)施例對(duì)第一語音數(shù)據(jù)包進(jìn)行壓縮處理,以及為第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)的執(zhí)行順序不作限定。第三設(shè)備可以先對(duì)各個(gè)第一語音數(shù)據(jù)包進(jìn)行壓縮處理,再為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào);第三設(shè)備還可以為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),再對(duì)各個(gè)第一語音數(shù)據(jù)包進(jìn)行壓縮處理。
可選地,對(duì)第一語音數(shù)據(jù)包的壓縮處理以及為第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)也是并行處理的,例如,每壓縮一個(gè)第一語音數(shù)據(jù)包,為已壓縮的第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),或者,每為一個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),對(duì)已設(shè)置序列號(hào)的第一語音數(shù)據(jù)包進(jìn)行壓縮處理。
步驟407,第三設(shè)備通過長連接方式向第一設(shè)備發(fā)送第一語音數(shù)據(jù)包。
可選地,第三設(shè)備根據(jù)各個(gè)第一語音數(shù)據(jù)包對(duì)應(yīng)的序列號(hào)順序發(fā)送第一語音數(shù)據(jù)包。并且,對(duì)于先后發(fā)送的兩個(gè)第一語音數(shù)據(jù)包,先發(fā)送的第一語音數(shù)據(jù)包所包括的數(shù)據(jù)在應(yīng)答信息中的位置,在后發(fā)送的第一語音數(shù)據(jù)包所包括的數(shù)據(jù)在應(yīng)答信息中的位置之前。
相應(yīng)地,第一設(shè)備接收第三設(shè)備通過長連接方式發(fā)送的第一語音數(shù)據(jù)包。
步驟408,第一設(shè)備從第一語音數(shù)據(jù)包中讀取序列號(hào)。
步驟409,第一設(shè)備根據(jù)第一語音數(shù)據(jù)包的序列號(hào),確定第一語音數(shù)據(jù)包中的第一應(yīng)答信息的播放順序。
由于序列號(hào)是根據(jù)第三設(shè)備根據(jù)第一語音數(shù)據(jù)包中的部分應(yīng)答信息的播放順序設(shè)置的,因此第一設(shè)備接收到第一語音數(shù)據(jù)包之后,可讀取該第一語音數(shù)據(jù)包的序列號(hào),進(jìn)而確定出該第一語音數(shù)據(jù)包的播放順序。相比于現(xiàn)有技術(shù)中,各個(gè)語音切片的播放順序需要等到應(yīng)答信息下載完畢之后,對(duì)元數(shù)據(jù)進(jìn)行解析得到,本發(fā)明實(shí)施例由于能直接根據(jù)第一語音數(shù)據(jù)包的序列號(hào),確定該第一語音數(shù)據(jù)包的播放順序,因此無需等到全部第一應(yīng)答信息下載完畢再播放第一應(yīng)答信息,從而縮短第一設(shè)備從獲取請(qǐng)求信息到播放應(yīng)答信息所需的耗時(shí),也即縮短第一設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
步驟410,第一設(shè)備對(duì)第一語音數(shù)據(jù)包中的第一應(yīng)答信息進(jìn)行解壓縮處理。
可選地,第一設(shè)備每接收一個(gè)第一語音數(shù)據(jù)包,對(duì)已接收的第一語音數(shù)據(jù)包中的語音數(shù)據(jù)進(jìn)行解壓縮處理??蛇x地,第一設(shè)備采用opus解碼器對(duì)第一語音數(shù)據(jù)包進(jìn)行解壓縮處理。
步驟411,第一設(shè)備從接收到第一個(gè)第一語音數(shù)據(jù)包開始,根據(jù)第一語音數(shù)據(jù)包中的第一文件頭和第一文件尾,播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
步驟412,第一設(shè)備在接收到最后一個(gè)第一語音數(shù)據(jù)包之后,計(jì)算第一應(yīng)答信息的總播放時(shí)長。
可選地,第一設(shè)備根據(jù)第一語音數(shù)據(jù)包的數(shù)量及采樣率計(jì)算第一應(yīng)答信息的總播放時(shí)長。
其中,若第一應(yīng)答信息被封裝為多個(gè)數(shù)據(jù)量相同的第一語音數(shù)據(jù)包時(shí),根據(jù)第一語音數(shù)據(jù)包的數(shù)量以及采樣率計(jì)算播放時(shí)長可以采用如下公式:
其中,t為第一應(yīng)答信息的總播放時(shí)長,n為第一語音數(shù)據(jù)包的數(shù)量,m為第一語音數(shù)據(jù)包的數(shù)據(jù)量(也即每個(gè)語音數(shù)據(jù)包所包括的字節(jié)數(shù)),f為采樣率。
其中,若第一應(yīng)答信息被封裝為多個(gè)語音數(shù)據(jù)包時(shí),除最后一個(gè)第一語音數(shù)據(jù)包之外的其它第一語音數(shù)據(jù)包的數(shù)據(jù)量均相同,根據(jù)第一語音數(shù)據(jù)包的數(shù)量以及采樣率計(jì)算播放時(shí)長可以采用如下公式:
其中,t為第一應(yīng)答信息的總播放時(shí)長,n為第一語音數(shù)據(jù)包的數(shù)量,m為除最后一個(gè)第一語音數(shù)據(jù)包之外的其它第一語音數(shù)據(jù)包的數(shù)據(jù)量,k為最后一個(gè)第一語音數(shù)據(jù)包的數(shù)據(jù)量,f為采樣率。
步驟413,當(dāng)?shù)谝粦?yīng)答信息的已播放時(shí)長達(dá)到總播放時(shí)長時(shí),第一設(shè)備釋放播放資源。
播放資源是播放第一應(yīng)答信息所需的資源。通過上述方式,可以避免第一應(yīng)答信息播放結(jié)束后,第一設(shè)備的播放資源依然被占用,進(jìn)而對(duì)第一設(shè)備提供的其它服務(wù)造成影響。
步驟414,第一設(shè)備獲取用于指示停止語音問答服務(wù)的第三請(qǐng)求信息。
第三請(qǐng)求信息用于請(qǐng)求停止語音問答服務(wù)。第三請(qǐng)求信息由第一設(shè)備對(duì)用戶發(fā)出的語音信息采集得到,例如,用戶發(fā)出“結(jié)束應(yīng)答”,此時(shí)第三設(shè)備獲取到第三請(qǐng)求信息。在其它可能的示例中,第一設(shè)備提供有用于觸發(fā)停止語音問答服務(wù)的操作控件,用戶觸發(fā)上述操作控件之后,第一設(shè)備獲取到用于指示停止語音問答服務(wù)的第三請(qǐng)求信息。
步驟415,第一設(shè)備向第三設(shè)備發(fā)送第三請(qǐng)求信息。
相應(yīng)地,第三設(shè)備接收第一設(shè)備發(fā)送的第三請(qǐng)求信息。
步驟416,第三設(shè)備在檢測(cè)到第三請(qǐng)求信息用于指示停止語音問答服務(wù)時(shí),斷開與第一設(shè)備之間建立的長連接。
第三設(shè)備檢測(cè)第三請(qǐng)求信息中是否包括指定關(guān)鍵詞,例如,指定關(guān)鍵詞可以是“結(jié)束”、“停止”等等,若第三請(qǐng)求信息中包括上述指定關(guān)鍵詞,則第三設(shè)備確定第三請(qǐng)求信息用于指示停止語音問答服務(wù),并將第三設(shè)備與第一設(shè)備之間的長連接斷開。通過上述方式,根據(jù)用戶指示斷開長連接,避免誤將有用的連接斷開,更加符合實(shí)際使用需求。
在其它可能的示例中,第一設(shè)備在與第三設(shè)備建立長連接之后的預(yù)設(shè)時(shí)間內(nèi)未獲取到第一請(qǐng)求信息,則斷開與第三設(shè)備之間的長連接。預(yù)設(shè)時(shí)間可以根據(jù)實(shí)際需求設(shè)定,例如,預(yù)設(shè)時(shí)間為1小時(shí)。通過上述兩種方式,均可以避免請(qǐng)求方設(shè)備在未請(qǐng)求語音問答服務(wù)時(shí)占用提供方設(shè)備的連接資源,能節(jié)省提供方設(shè)備的連接資源,從而提高提供方設(shè)備為其它請(qǐng)求方設(shè)備提供語音問答服務(wù)的效率。
結(jié)合參考圖4b,其示出了本發(fā)明一個(gè)實(shí)施例示出的第三設(shè)備與第一設(shè)備之間傳輸?shù)谝徽Z音數(shù)據(jù)包的示意圖。第三設(shè)備將應(yīng)答信息文本轉(zhuǎn)換為語音形式的應(yīng)答信息,并將其封裝成多個(gè)第一語音數(shù)據(jù)包,采用opus編碼器對(duì)各個(gè)第一語音數(shù)據(jù)包進(jìn)行壓縮處理,并為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),之后通過長連接方式向第一設(shè)備發(fā)送第一語音數(shù)據(jù)包,之后采用opus解碼器對(duì)各個(gè)第一語音數(shù)據(jù)包進(jìn)行解碼,最終由播放組件播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
本發(fā)明實(shí)施例提供的方法,還通過對(duì)各個(gè)語音數(shù)據(jù)包進(jìn)行壓縮處理,能減小語音數(shù)據(jù)包的數(shù)據(jù)量,從而提高發(fā)送語音數(shù)據(jù)包的效率。
本發(fā)明實(shí)施例提供的方法,還通過為各個(gè)語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),進(jìn)而指示語音數(shù)據(jù)包的播放順序,從而使請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可讀取并播放該語音數(shù)據(jù)包中的應(yīng)答信息,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
在實(shí)際實(shí)現(xiàn)時(shí),第一設(shè)備中存在三個(gè)預(yù)設(shè)接口,第一設(shè)備通過調(diào)用上述預(yù)設(shè)接口,進(jìn)而完成接收第一語音數(shù)據(jù)包到播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息的過程中所需的準(zhǔn)備工作。下面,將對(duì)三個(gè)預(yù)設(shè)接口進(jìn)行解釋說明。
第一預(yù)設(shè)接口用于獲取應(yīng)答信息的相關(guān)參數(shù),比如采樣率,聲道等等,并根據(jù)上述獲取到的相關(guān)參數(shù)初始化用于播放應(yīng)答信息的播放組件,也即,根據(jù)上述相關(guān)參數(shù)設(shè)置播放組件播放語音數(shù)據(jù)包中的應(yīng)答信息時(shí)的參數(shù)。此外,第一預(yù)設(shè)接口還用于初始化智能設(shè)備中用于對(duì)語音數(shù)據(jù)包進(jìn)行解碼的解碼器??蛇x地,當(dāng)?shù)谝辉O(shè)備接收到第一個(gè)語音數(shù)據(jù)包時(shí),第一設(shè)備調(diào)用第一預(yù)設(shè)接口??蛇x地,第一設(shè)備調(diào)用第一預(yù)設(shè)接口時(shí),標(biāo)識(shí)第一設(shè)備處于開始接收語音數(shù)據(jù)包的狀態(tài),上述狀態(tài)可以稱之為“tts_push_start”狀態(tài)。
第二預(yù)設(shè)接口用于將語音數(shù)據(jù)包轉(zhuǎn)換為字節(jié),并將轉(zhuǎn)換得到的字節(jié)交由解碼器進(jìn)行解碼,之后解碼得到的數(shù)據(jù)交由播放組件進(jìn)行播放。可選地,當(dāng)?shù)谝辉O(shè)備調(diào)用第一預(yù)設(shè)接口完成對(duì)解碼組件以及播放組件的初始化之后,調(diào)用第二預(yù)設(shè)接口。可選地,第一設(shè)備調(diào)用第二預(yù)設(shè)接口時(shí),標(biāo)識(shí)第一設(shè)備處于正在接收語音數(shù)據(jù)包的狀態(tài),上述狀態(tài)可以稱之為“tts_push”狀態(tài)。
第三預(yù)設(shè)接口用于計(jì)算第一應(yīng)答信息的總播放時(shí)長,當(dāng)?shù)谝粦?yīng)答信息的已播放時(shí)長達(dá)到總播放時(shí)長時(shí),釋放播放資源。另外,第三預(yù)設(shè)接口還用于釋放解碼資源,解碼資源是指對(duì)第一語音數(shù)據(jù)包進(jìn)行解壓縮處理所需的資源。在一個(gè)示例中,第三預(yù)設(shè)接口在釋放播放資源的同時(shí)釋放解碼資源。在另一個(gè)示例中,第三預(yù)設(shè)接口在第一設(shè)備對(duì)最后一個(gè)接收的第一語音數(shù)據(jù)包進(jìn)行解壓縮處理之后釋放解碼資源。
可選地,第一設(shè)備在接收到最后一個(gè)語音數(shù)據(jù)包時(shí),調(diào)用第三預(yù)設(shè)接口??蛇x地,第一設(shè)備調(diào)用第三預(yù)設(shè)接口時(shí),標(biāo)識(shí)第一設(shè)備處于結(jié)束接收語音數(shù)據(jù)包的狀態(tài),上述狀態(tài)可以稱之為“tts_push_end”狀態(tài)。
結(jié)合參考圖4c,其出了本發(fā)明一個(gè)示例性實(shí)施例示出的第一設(shè)備與第三設(shè)備之間的交互的示意圖。其中,第一設(shè)備中包括第一預(yù)設(shè)接口、第二預(yù)設(shè)接口、第三預(yù)設(shè)接口,第三設(shè)備是由語義服務(wù)器、業(yè)務(wù)服務(wù)器以及tts服務(wù)器組成的服務(wù)器集群。第一設(shè)備采集用戶以語音形式提出的請(qǐng)求信息,由第一設(shè)備通過長連接方式向第三設(shè)備發(fā)送上述請(qǐng)求信息,由第三設(shè)備中的語義服務(wù)器將請(qǐng)求信息轉(zhuǎn)換為請(qǐng)求信息文本,并向業(yè)務(wù)服務(wù)器發(fā)送上述請(qǐng)求信息文本,業(yè)務(wù)服務(wù)器根據(jù)請(qǐng)求信息文本獲取應(yīng)答信息文本,并將應(yīng)答信息文本轉(zhuǎn)發(fā)至tts服務(wù)器,tts服務(wù)器將應(yīng)答信息文本轉(zhuǎn)換為語音形式的應(yīng)答信息之后,對(duì)語音形式的應(yīng)答信息進(jìn)行分包、壓縮等處理,然后將處理后的語音形式的應(yīng)答信息發(fā)送至業(yè)務(wù)服務(wù)器,然后業(yè)務(wù)服務(wù)器通過長連接方式向第一設(shè)備發(fā)送上述語音形式的應(yīng)答信息,再由第一設(shè)備播放應(yīng)答信息,此時(shí)用戶得到第一設(shè)備的響應(yīng)。
請(qǐng)參考圖5,其示出了本發(fā)明另一個(gè)實(shí)施例示出的數(shù)據(jù)傳輸方法的流程圖。該方法可應(yīng)用于圖2所示的實(shí)施環(huán)境中。該方法包括如下的步驟。
步驟501,第一設(shè)備獲取第一請(qǐng)求信息。
步驟502,第一設(shè)備向語義服務(wù)器發(fā)送第一請(qǐng)求信息。
相應(yīng)地,語義服務(wù)器接收第一設(shè)備發(fā)送的第一請(qǐng)求信息。
步驟503,當(dāng)?shù)谝徽?qǐng)求信息為語音形式時(shí),語義服務(wù)器對(duì)第一請(qǐng)求信息進(jìn)行語音識(shí)別得到第一請(qǐng)求信息文本。
步驟504,語義服務(wù)器對(duì)第一請(qǐng)求信息文本進(jìn)行語義分析。
步驟505,語義服務(wù)器向業(yè)務(wù)服務(wù)器發(fā)送語義分析結(jié)果。
相應(yīng)地,業(yè)務(wù)服務(wù)器接收語義服務(wù)器發(fā)送的語義分析結(jié)果。
步驟506,業(yè)務(wù)服務(wù)器根據(jù)語義分析結(jié)果獲取第一應(yīng)答信息文本。
步驟507,業(yè)務(wù)服務(wù)器向tts服務(wù)器發(fā)送第一應(yīng)答信息文本。
相應(yīng)地,tts服務(wù)器接收業(yè)務(wù)服務(wù)器發(fā)送的第一應(yīng)答信息文本。
步驟508,tts服務(wù)器將第一應(yīng)答信息文本轉(zhuǎn)換為語音形式的第一應(yīng)答信息。
步驟509,tts服務(wù)器將上述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包。
每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及第一應(yīng)答信息中的部分語音數(shù)據(jù)。
步驟510,tts服務(wù)器每封裝一個(gè)第一語音數(shù)據(jù)包,對(duì)第一語音數(shù)據(jù)包中的第一應(yīng)答信息進(jìn)行壓縮處理。
步驟511,tts服務(wù)器根據(jù)各個(gè)第一語音數(shù)據(jù)包中的第一應(yīng)答信息的播放順序,為各個(gè)第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)。
步驟512,tts服務(wù)器向業(yè)務(wù)服務(wù)器發(fā)送第一語音數(shù)據(jù)包。
相應(yīng)地,業(yè)務(wù)服務(wù)器接收tts服務(wù)器發(fā)送的第一語音數(shù)據(jù)包。
步驟513,業(yè)務(wù)服務(wù)器通過長連接方式向第一設(shè)備發(fā)送第一語音數(shù)據(jù)包。
相應(yīng)地,第一設(shè)備接收業(yè)務(wù)服務(wù)器通過長連接方式發(fā)送的第一語音數(shù)據(jù)包。
步驟514,第一設(shè)備從第一語音數(shù)據(jù)包中讀取序列號(hào);
步驟515,根據(jù)第一語音數(shù)據(jù)包的序列號(hào),確定第一語音數(shù)據(jù)包中的第一應(yīng)答信息的播放順序。
步驟516,第一設(shè)備每接收一個(gè)第一語音數(shù)據(jù)包,對(duì)已接收的第一語音數(shù)據(jù)包中的第一應(yīng)答信息進(jìn)行解壓縮處理。
步驟517,第一設(shè)備從接收到第一個(gè)第一語音數(shù)據(jù)包開始,根據(jù)第一語音數(shù)據(jù)包中的第一文件頭和第一文件尾,播放第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
步驟518,第一設(shè)備在接收到最后一個(gè)第一語音數(shù)據(jù)包之后,計(jì)算第一應(yīng)答信息的總播放時(shí)長。
步驟519,當(dāng)?shù)谝粦?yīng)答信息的已播放時(shí)長達(dá)到總播放時(shí)長時(shí),釋放播放資源。
播放資源是播放第一應(yīng)答信息所需的資源。步驟520,第一設(shè)備獲取用于指示停止語音問答服務(wù)的第三請(qǐng)求信息。
步驟521,第一設(shè)備向業(yè)務(wù)服務(wù)器發(fā)送第三請(qǐng)求信息。
相應(yīng)地,業(yè)務(wù)服務(wù)器接收第一設(shè)備發(fā)送的第三請(qǐng)求信息。
步驟522,業(yè)務(wù)服務(wù)器在檢測(cè)到第三請(qǐng)求信息用于指示停止語音問答服務(wù)時(shí),斷開與第一設(shè)備之間建立的長連接。
在上述方法實(shí)施例中,有關(guān)第一設(shè)備一側(cè)的步驟可以單獨(dú)實(shí)現(xiàn)成為第一設(shè)備側(cè)的數(shù)據(jù)傳輸方法,有關(guān)第三設(shè)備一側(cè)的步驟可以單獨(dú)實(shí)現(xiàn)成為第三設(shè)備側(cè)的數(shù)據(jù)傳輸方法。
請(qǐng)參考圖6,其示出了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸方法的流程圖。該方法可以應(yīng)用于圖1所示的實(shí)施環(huán)境中,其中,設(shè)備11也即第三設(shè)備,設(shè)備12也即第二設(shè)備。該方法可以包括如下幾個(gè)步驟。
步驟601,第三設(shè)備獲取第二請(qǐng)求信息。
步驟602,第三設(shè)備向第二設(shè)備發(fā)送第二請(qǐng)求信息。
相應(yīng)地,第二設(shè)備接收第三設(shè)備發(fā)送的第二請(qǐng)求信息。
步驟603,第二設(shè)備根據(jù)第二請(qǐng)求信息生成語音形式的第二應(yīng)答信息。
步驟604,第二設(shè)備將第二應(yīng)答信息封裝成多個(gè)第二語音數(shù)據(jù)包,第二語音數(shù)據(jù)包包括:第二文件頭、第二文件尾,以及第二應(yīng)答信息中的部分語音數(shù)據(jù)。
可選地,在步驟604之后,第二設(shè)備對(duì)各個(gè)第二語音數(shù)據(jù)包中的第二應(yīng)答信息進(jìn)行壓縮處理。
可選地,在步驟604之后,第二設(shè)備根據(jù)各個(gè)第二語音數(shù)據(jù)包中的第二應(yīng)答信息的播放順序,為各個(gè)第二語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào)。
步驟605,第二設(shè)備通過長連接方式向第三設(shè)備發(fā)送第二語音數(shù)據(jù)包。
相應(yīng)地,第三設(shè)備接收第二設(shè)備以長連接方式發(fā)送的第二語音數(shù)據(jù)包。
步驟606,第三設(shè)備從接收到第一個(gè)第二語音數(shù)據(jù)包開始,根據(jù)第二語音數(shù)據(jù)包中的第二文件頭和第二文件尾,播放第二語音數(shù)據(jù)包中的第二應(yīng)答信息。
可選地,第三設(shè)備接收第二設(shè)備以長連接方式發(fā)送的第二語音數(shù)據(jù)包之后,第三設(shè)備從第二語音數(shù)據(jù)包中讀取序列號(hào),第三設(shè)備根據(jù)第二語音數(shù)據(jù)包的序列號(hào),確定第二語音數(shù)據(jù)包中的部分第二應(yīng)答信息的播放順序。
可選地,第三設(shè)備接收第二設(shè)備以長連接方式發(fā)送的第二語音數(shù)據(jù)包之后,第三設(shè)備對(duì)第二語音數(shù)據(jù)包中的第二應(yīng)答信息進(jìn)行解壓縮處理??蛇x地,第三設(shè)備每接收一個(gè)第二語音數(shù)據(jù)包,對(duì)已接收的第二語音數(shù)據(jù)包中的語音數(shù)據(jù)進(jìn)行解壓縮處理。
可選地,第三設(shè)備在接收到最后一個(gè)第二語音數(shù)據(jù)包之后,計(jì)算第二應(yīng)答信息的總播放時(shí)長,當(dāng)?shù)诙?yīng)答信息的已播放時(shí)長達(dá)到總播放時(shí)長時(shí),第三設(shè)備釋放播放資源。
可選地,第三設(shè)備獲取第二請(qǐng)求之后,獲取用于指示停止語音問答服務(wù)的第三請(qǐng)求信息;向第二設(shè)備發(fā)送第三請(qǐng)求信息,以使得第二設(shè)備在檢測(cè)到第三請(qǐng)求信息用于指示停止語音問答服務(wù)時(shí),斷開與第三設(shè)備之間建立的長連接。
圖6實(shí)施例與圖3實(shí)施例所不同的是,在圖3實(shí)施例中,第三設(shè)備作為應(yīng)答方設(shè)備向第一設(shè)備提供語音應(yīng)答服務(wù),而在圖6實(shí)施例中,第三設(shè)備作為請(qǐng)求方設(shè)備,從第二設(shè)備請(qǐng)求語音應(yīng)答服務(wù)。在實(shí)際應(yīng)用中,對(duì)于某一設(shè)備來說,其可以僅具備請(qǐng)求語音應(yīng)答服務(wù)的功能,也可以僅具備提供語音應(yīng)答服務(wù)的功能,或者兼具上述兩種功能。另外,有關(guān)圖6實(shí)施例中各步驟的具體實(shí)現(xiàn)細(xì)節(jié),參見上述各個(gè)方法實(shí)施例中的介紹說明,此處不再贅述。
在上述方法實(shí)施例中,有關(guān)第三設(shè)備一側(cè)的步驟可以單獨(dú)實(shí)現(xiàn)成為第三設(shè)備側(cè)的數(shù)據(jù)傳輸方法,有關(guān)第二設(shè)備一側(cè)的步驟可以單獨(dú)實(shí)現(xiàn)成為第二設(shè)備側(cè)的數(shù)據(jù)傳輸方法。
下述為本發(fā)明裝置實(shí)施例,可以用于執(zhí)行本發(fā)明方法實(shí)施例。對(duì)于本發(fā)明裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本發(fā)明方法實(shí)施例。
請(qǐng)參考圖7,其示出了本發(fā)明一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸裝置的框圖。該裝置具有實(shí)現(xiàn)上述方法實(shí)施例中第三設(shè)備側(cè)的功能,所述功能可以由硬件實(shí)現(xiàn),也可以由硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該裝置可以包括:信息接收模塊701、信息生成模塊702、數(shù)據(jù)包封裝模塊703和數(shù)據(jù)包發(fā)送模塊704。
信息接收模塊701,用于接收第一設(shè)備發(fā)送的第一請(qǐng)求信息。
信息生成模塊702,用于根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息。
數(shù)據(jù)包封裝模塊703,用于將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù)。
數(shù)據(jù)包發(fā)送模塊704,用于通過長連接方式向所述第一設(shè)備發(fā)送所述第一語音數(shù)據(jù)包,以使得所述第一設(shè)備從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
可選地,所述數(shù)據(jù)包封裝模塊703,用于:
依次從所述第一應(yīng)答信息提取預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù),所述預(yù)設(shè)數(shù)據(jù)量小于所述第一應(yīng)答信息的數(shù)據(jù)量;
將所述第一文件頭、每次提取的所述預(yù)設(shè)數(shù)據(jù)量的語音數(shù)據(jù)、所述第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
可選地,所述數(shù)據(jù)包封裝模塊703,用于:
依次從所述第一應(yīng)答信息中提取預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù),所述預(yù)設(shè)播放時(shí)長小于所述第一應(yīng)答信息的總播放時(shí)長;
將所述第一文件頭、每次提取的所述預(yù)設(shè)播放時(shí)長的語音數(shù)據(jù)和所述第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
可選地,所述數(shù)據(jù)包封裝模塊703,用于:
獲取所述第一應(yīng)答信息的內(nèi)容類型,所述內(nèi)容類型為語音播報(bào)類型或音樂類型;
根據(jù)所述第一應(yīng)答信息的內(nèi)容類型將所述第一應(yīng)答信息封裝成所述多個(gè)第一語音數(shù)據(jù)包。
可選地,所述數(shù)據(jù)包封裝模塊703,具體用于:
若所述第一應(yīng)答信息的內(nèi)容類型為所述語音播報(bào)類型,則依次從所述第一應(yīng)答信息中提取第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的語音數(shù)據(jù),所述第一預(yù)設(shè)數(shù)量小于所述第一應(yīng)答信息包括的句子的總數(shù)量,將所述第一文件頭、每次提取的所述第一預(yù)設(shè)數(shù)量的句子對(duì)應(yīng)的語音數(shù)據(jù)和所述第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包;
若所述第一應(yīng)答信息的內(nèi)容類型為所述音樂類型,則依次從所述第一應(yīng)答信息中提取第二預(yù)設(shè)數(shù)量的音樂小節(jié)對(duì)應(yīng)的語音數(shù)據(jù),所述第二預(yù)設(shè)數(shù)量小于所述第一應(yīng)答信息包括的音樂小節(jié)的總數(shù)量,將所述第一文件頭、每次提取的所述第二預(yù)設(shè)數(shù)量的音樂小節(jié)對(duì)應(yīng)的語音數(shù)據(jù)和所述第一文件尾封裝成一個(gè)第一語音數(shù)據(jù)包。
可選地,所述裝置還包括:壓縮模塊(圖中未示出)。
壓縮模塊,用于每封裝一個(gè)第一語音數(shù)據(jù)包,對(duì)所述第一語音數(shù)據(jù)包中的所述第一應(yīng)答信息進(jìn)行壓縮處理。
可選地,所述裝置還包括:序列號(hào)設(shè)置模塊(圖中未示出)。
序列號(hào)設(shè)置模塊,用于根據(jù)各個(gè)所述第一語音數(shù)據(jù)包中的所述第一應(yīng)答信息的播放順序,為各個(gè)所述第一語音數(shù)據(jù)包設(shè)置對(duì)應(yīng)的序列號(hào),其中,各個(gè)所述第一語音數(shù)據(jù)包的發(fā)送順序根據(jù)所述序列號(hào)確定。
可選地,所述裝置還包括:第一獲取模塊、信息發(fā)送模塊、數(shù)據(jù)包接收模塊和信息播放模塊(圖中未示出)。
第一獲取模塊,用于獲取第二請(qǐng)求信息。
信息發(fā)送模塊,用于向第二設(shè)備發(fā)送所述第二請(qǐng)求信息,以使得所述第二設(shè)備根據(jù)所述第二請(qǐng)求信息生成語音形式的第二應(yīng)答信息,并將所述第二應(yīng)答信息封裝成多個(gè)第二語音數(shù)據(jù)包,每一個(gè)第二語音數(shù)據(jù)包中包括:第二文件頭、第二文件尾,以及所述第二應(yīng)答信息中的部分語音數(shù)據(jù)。
數(shù)據(jù)包接收模塊,用于接收所述第二設(shè)備通過所述長連接方式發(fā)送的所述第二語音數(shù)據(jù)包。
信息播放模塊,用于從接收到第一個(gè)所述第二語音數(shù)據(jù)包開始,根據(jù)所述第二語音數(shù)據(jù)包中的所述第二文件頭和所述第二文件尾,播放所述第二語音數(shù)據(jù)包中的第二應(yīng)答信息。
可選地,所述裝置還包括:解壓縮模塊(圖中未示出)。
解壓縮模塊,用于每接收到一個(gè)第二語音數(shù)據(jù)包,對(duì)已接收的所述第二語音數(shù)據(jù)包中的所述第二應(yīng)答信息進(jìn)行解壓縮處理。
可選地,所述裝置還包括:序列號(hào)讀取模塊和順序確定模塊(圖中未示出)。
序列號(hào)讀取模塊,用于從所述第二語音數(shù)據(jù)包中讀取序列號(hào)。
順序確定模塊,用于根據(jù)所述第二語音數(shù)據(jù)包的序列號(hào),確定所述第二語音數(shù)據(jù)包中的部分所述第二應(yīng)答信息的播放順序。
可選地,所述裝置還包括:時(shí)長計(jì)算模塊和資源釋放模塊(圖中未示出)。
時(shí)長計(jì)算模塊,用于在接收到最后一個(gè)第二語音數(shù)據(jù)包之后,計(jì)算所述第二應(yīng)答信息的總播放時(shí)長。
資源釋放模塊,用于當(dāng)所述第二應(yīng)答信息的已播放時(shí)長達(dá)到所述總播放時(shí)長時(shí),釋放播放資源,所述播放資源是播放所述第二應(yīng)答信息所需的資源。
可選地,所述裝置還包括:第二獲取模塊和長連接斷開模塊(圖中未示出)。
第二獲取模塊,用于獲取用于指示停止語音問答服務(wù)的第三請(qǐng)求信息。
長連接斷開模塊,用于向所述第二設(shè)備發(fā)送所述第三請(qǐng)求信息,以使得所述第二設(shè)備在檢測(cè)到所述第三請(qǐng)求信息用于指示停止語音問答服務(wù)時(shí),斷開與第三設(shè)備之間建立的長連接。
綜上所述,本發(fā)明實(shí)施例提供的裝置,通過將應(yīng)答信息封裝成多個(gè)語音數(shù)據(jù)包,并通過長連接方式傳輸上述語音數(shù)據(jù)包,請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可讀取并播放語音數(shù)據(jù)包中的應(yīng)答信息;由于無需等到應(yīng)答信息全部下載完畢后再播放應(yīng)答信息,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
請(qǐng)參考圖8,其示出了本發(fā)明另一個(gè)實(shí)施例提供的數(shù)據(jù)傳輸裝置的框圖。該裝置具有實(shí)現(xiàn)上述方法實(shí)施例中第一設(shè)備側(cè)的功能,所述功能可以由硬件實(shí)現(xiàn),也可以由硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該裝置可以包括:第一獲取模塊801、信息發(fā)送模塊802、數(shù)據(jù)包接收模塊803和信息播放模塊804。
第一獲取模塊801,用于獲取第一請(qǐng)求信息。
信息發(fā)送模塊802,用于向第三設(shè)備發(fā)送所述第一請(qǐng)求信息,以使得所述第三設(shè)備根據(jù)所述第一請(qǐng)求信息生成語音形式的第一應(yīng)答信息,并將所述第一應(yīng)答信息封裝成多個(gè)第一語音數(shù)據(jù)包,每一個(gè)第一語音數(shù)據(jù)包中包括:第一文件頭、第一文件尾,以及所述第一應(yīng)答信息中的部分語音數(shù)據(jù)。
數(shù)據(jù)包接收模塊803,用于接收所述第三設(shè)備通過所述長連接方式發(fā)送的所述第一語音數(shù)據(jù)包。
信息播放模塊804,用于從接收到第一個(gè)所述第一語音數(shù)據(jù)包開始,根據(jù)所述第一語音數(shù)據(jù)包中的所述第一文件頭和所述第一文件尾,播放所述第一語音數(shù)據(jù)包中的第一應(yīng)答信息。
可選地,所述裝置還包括:解壓縮模塊(圖中未示出)。
解壓縮模塊,用于每接收到一個(gè)第一語音數(shù)據(jù)包,對(duì)已接收的所述第一語音數(shù)據(jù)包中的所述第一應(yīng)答信息進(jìn)行解壓縮處理。
可選地,所述裝置還包括:序列號(hào)讀取模塊和順序確定模塊(圖中未示出)。
序列號(hào)讀取模塊,用于從所述第一語音數(shù)據(jù)包中讀取序列號(hào)。
順序確定模塊,用于根據(jù)所述第一語音數(shù)據(jù)包的序列號(hào),確定所述第一語音數(shù)據(jù)包中的所述第一應(yīng)答信息的播放順序。
可選地,所述裝置還包括:時(shí)長計(jì)算模塊和資源釋放模塊(圖中未示出)。
時(shí)長計(jì)算模塊,用于在接收到最后一個(gè)第一語音數(shù)據(jù)包之后,計(jì)算所述第一應(yīng)答信息的總播放時(shí)長。
資源釋放模塊,用于當(dāng)所述第一應(yīng)答信息的已播放時(shí)長達(dá)到所述總播放時(shí)長時(shí),釋放播放資源,所述播放資源是播放所述第一應(yīng)答信息所需的資源。
可選地,所述裝置還包括:第二獲取模塊和長連接斷開模塊(圖中未示出)。
第二獲取模塊,用于獲取用于指示停止語音問答服務(wù)的第三請(qǐng)求信息。
長連接斷開模塊,用于向所述第二設(shè)備發(fā)送所述第三請(qǐng)求信息,以使得所述第二設(shè)備在檢測(cè)到所述第三請(qǐng)求信息用于指示停止語音問答服務(wù)時(shí),斷開與第一設(shè)備之間建立的長連接。
綜上所述,本發(fā)明實(shí)施例提供的裝置,通過將應(yīng)答信息封裝成多個(gè)語音數(shù)據(jù)包,并通過長連接方式傳輸上述語音數(shù)據(jù)包,請(qǐng)求方設(shè)備在接收到第一個(gè)語音數(shù)據(jù)包開始,即可讀取并播放語音數(shù)據(jù)包中的應(yīng)答信息;由于無需等到應(yīng)答信息全部下載完畢后再播放應(yīng)答信息,從而縮短請(qǐng)求方設(shè)備從獲取請(qǐng)求信息至播放應(yīng)答信息所需的耗時(shí),也即縮短請(qǐng)求方設(shè)備給用戶提供應(yīng)答的響應(yīng)時(shí)間。
需要說明的是,上述實(shí)施例提供的裝置,在實(shí)現(xiàn)其功能時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的裝置與方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
請(qǐng)參考圖9,其示出了本發(fā)明一個(gè)實(shí)施例提供的設(shè)備900的結(jié)構(gòu)示意圖。該設(shè)備900用于實(shí)施上述實(shí)施例中提供的第一設(shè)備側(cè)的數(shù)據(jù)傳輸方法。具體來講:
設(shè)備900可以包括rf(radiofrequency,射頻)電路910、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器920、輸入單元930、顯示單元940、傳感器950、音頻電路960、wifi(wirelessfidelity,無線保真)模塊970、包括有一個(gè)或者一個(gè)以上處理核心的處理器980、以及電源990等部件。本領(lǐng)域技術(shù)人員可以理解,圖9中示出的智能設(shè)備結(jié)構(gòu)并不構(gòu)成對(duì)智能設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
rf電路910可用于收發(fā)信息或通話過程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器980處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路910包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶身份模塊(sim)卡、收發(fā)信機(jī)、耦合器、lna(lownoiseamplifier,低噪聲放大器)、雙工器等。此外,rf電路910還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于gsm(globalsystemofmobilecommunication,全球移動(dòng)通訊系統(tǒng))、gprs(generalpacketradioservice,通用分組無線服務(wù))、cdma(codedivisionmultipleaccess,碼分多址)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)、lte(longtermevolution,長期演進(jìn))、電子郵件、sms(shortmessagingservice,短消息服務(wù))等。
存儲(chǔ)器920可用于存儲(chǔ)軟件程序以及模塊,處理器980通過運(yùn)行存儲(chǔ)在存儲(chǔ)器920的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器920可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)設(shè)備900的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器920可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器920還可以包括存儲(chǔ)器控制器,以提供處理器980和輸入單元930對(duì)存儲(chǔ)器920的訪問。
輸入單元930可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號(hào)輸入。具體地,輸入單元930可包括圖像輸入設(shè)備931以及其他輸入設(shè)備932。圖像輸入設(shè)備931可以是攝像頭,也可以是光電掃描設(shè)備。除了圖像輸入設(shè)備931,輸入單元930還可以包括其他輸入設(shè)備932。具體地,其他輸入設(shè)備932可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元940可用于顯示由用戶輸入的信息或提供給用戶的信息以及設(shè)備900的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元940可包括顯示面板941,可選的,可以采用lcd(liquidcrystaldisplay,液晶顯示器)、oled(organiclight-emittingdiode,有機(jī)發(fā)光二極管)等形式來配置顯示面板941。
設(shè)備900還可包括至少一種傳感器950,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板941的亮度,接近傳感器可在設(shè)備900移動(dòng)到耳邊時(shí),關(guān)閉顯示面板941和/或背光。作為運(yùn)動(dòng)傳感器的一種,重力加速度傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于設(shè)備900還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路960、揚(yáng)聲器961,傳聲器962可提供用戶與設(shè)備900之間的音頻接口。音頻電路960可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器961,由揚(yáng)聲器961轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器962將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路960接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器980處理后,經(jīng)rf電路910以發(fā)送給比如另一智能設(shè)備,或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器920以便進(jìn)一步處理。音頻電路960還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與設(shè)備900的通信。
wifi屬于短距離無線傳輸技術(shù),設(shè)備900通過wifi模塊970可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖9示出了wifi模塊970,但是可以理解的是,其并不屬于設(shè)備900的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器980是設(shè)備900的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器920內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器920內(nèi)的數(shù)據(jù),執(zhí)行智能設(shè)備900的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器980可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器980可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器980中。
設(shè)備900還包括給各個(gè)部件供電的電源990(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器980邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源990還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測(cè)電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管未示出,設(shè)備900還可以包括藍(lán)牙模塊等,在此不再贅述。
具體在本實(shí)施例中,設(shè)備900還包括有存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由所述處理器加載并執(zhí)行以實(shí)現(xiàn)上述第一設(shè)備側(cè)的數(shù)據(jù)傳輸方法。
請(qǐng)參考圖10,其示出了本發(fā)明另一個(gè)實(shí)施例提供的設(shè)備1000的結(jié)構(gòu)方框圖。該設(shè)備1000用于實(shí)施上述實(shí)施例中提供的第二設(shè)備側(cè)的數(shù)據(jù)傳輸方法。
所述設(shè)備1000包括中央處理單元(cpu)1001、包括隨機(jī)存取存儲(chǔ)器(ram)1002和只讀存儲(chǔ)器(rom)1003的系統(tǒng)存儲(chǔ)器1004,以及連接系統(tǒng)存儲(chǔ)器1004和中央處理單元1001的系統(tǒng)總線1005。所述設(shè)備1000還包括幫助計(jì)算機(jī)內(nèi)的各個(gè)器件之間傳輸信息的基本輸入/輸出系統(tǒng)(i/o系統(tǒng))1006,和用于存儲(chǔ)操作系統(tǒng)1013、應(yīng)用程序1014和其他程序模塊1015的大容量存儲(chǔ)設(shè)備1007。
所述基本輸入/輸出系統(tǒng)1006包括有用于顯示信息的顯示器1008和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備1009。其中所述顯示器1008和輸入設(shè)備1009都通過連接到系統(tǒng)總線1005的輸入輸出控制器1010連接到中央處理單元1001。所述基本輸入/輸出系統(tǒng)1006還可以包括輸入輸出控制器1010以用于接收和處理來自鍵盤、鼠標(biāo)、或電子觸控筆等多個(gè)其他設(shè)備的輸入。類似地,輸入輸出控制器1010還提供輸出到顯示屏、打印機(jī)或其他類型的輸出設(shè)備。
所述大容量存儲(chǔ)設(shè)備1007通過連接到系統(tǒng)總線1005的大容量存儲(chǔ)控制器(未示出)連接到中央處理單元1001。所述大容量存儲(chǔ)設(shè)備1007及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為設(shè)備1000提供非易失性存儲(chǔ)。也就是說,所述大容量存儲(chǔ)設(shè)備1007可以包括諸如硬盤或者cd-rom驅(qū)動(dòng)器之類的計(jì)算機(jī)可讀介質(zhì)(未示出)。
不失一般性,所述計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括ram、rom、eprom、eeprom、閃存或其他固態(tài)存儲(chǔ)其技術(shù),cd-rom、dvd或其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備。當(dāng)然,本領(lǐng)域技術(shù)人員可知所述計(jì)算機(jī)存儲(chǔ)介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲(chǔ)器1004和大容量存儲(chǔ)設(shè)備1007可以統(tǒng)稱為存儲(chǔ)器。
根據(jù)本發(fā)明的各種實(shí)施例,所述設(shè)備1000還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)運(yùn)行。也即設(shè)備1000可以通過連接在所述系統(tǒng)總線1005上的網(wǎng)絡(luò)接口單元1011連接到網(wǎng)絡(luò)1012,或者說,也可以使用網(wǎng)絡(luò)接口單元1011來連接到其他類型的網(wǎng)絡(luò)或遠(yuǎn)程計(jì)算機(jī)系統(tǒng)(未示出)。
所述存儲(chǔ)器中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由所述處理器加載并執(zhí)行以實(shí)現(xiàn)上述第三設(shè)備側(cè)的數(shù)據(jù)傳輸方法。
在示例性實(shí)施例中,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由智能設(shè)備的處理器加載并執(zhí)行以實(shí)現(xiàn)上述方法實(shí)施例中第一設(shè)備側(cè)的各個(gè)步驟。
在示例性實(shí)施例中,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由服務(wù)器的處理器加載并執(zhí)行以實(shí)現(xiàn)上述方法實(shí)施例中第三設(shè)備側(cè)的各個(gè)步驟。
可選地,上述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、隨機(jī)存取存儲(chǔ)器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
在示例性實(shí)施例中,還提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)該計(jì)算機(jī)程序產(chǎn)品被執(zhí)行時(shí),其用于實(shí)現(xiàn)上述方法實(shí)施例中第一設(shè)備側(cè)的各個(gè)步驟的功能。
在示例性實(shí)施例中,還提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)該計(jì)算機(jī)程序產(chǎn)品被執(zhí)行時(shí),其用于實(shí)現(xiàn)上述方法實(shí)施例中第三設(shè)備側(cè)的各個(gè)步驟的功能。
應(yīng)當(dāng)理解的是,在本文中提及的“多個(gè)”是指兩個(gè)或兩個(gè)以上?!昂?或”,描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。字符“/”一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。本文中使用的“第一”、“第二”以及類似的詞語并不表示任何順序、數(shù)量或者重要性,而只是用來區(qū)分不同的組成部分。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
以上所述僅為本發(fā)明的示例性實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。