房間內(nèi)的所有客戶端的控制信息并根據(jù)該控制信息對(duì)每一客戶端上傳的音頻數(shù)據(jù)進(jìn)行分配,最后把分配給每一客戶端的至少一路音頻數(shù)據(jù)進(jìn)行混音處理后轉(zhuǎn)發(fā)給相應(yīng)的客戶端,極大地降低了帶寬壓力。
【附圖說明】
[0037]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中:
[0038]圖1是本發(fā)明一種多人網(wǎng)絡(luò)音頻會(huì)話方法實(shí)施例的流程示意圖;
[0039]圖2是同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端建立會(huì)話連接的流程示意圖;
[0040]圖3是同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端建立會(huì)話連接的結(jié)構(gòu)示意圖;
[0041]圖4是同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端進(jìn)行控制信息傳送的結(jié)構(gòu)示意圖;
[0042]圖5是同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端進(jìn)行音頻數(shù)據(jù)傳送的結(jié)構(gòu)示意圖;
[0043]圖6是本發(fā)明一種多人網(wǎng)絡(luò)音頻會(huì)話方法中中轉(zhuǎn)服務(wù)器對(duì)音頻數(shù)據(jù)進(jìn)行混音處理的流程示意圖;
[0044]圖7是本發(fā)明一種多人網(wǎng)絡(luò)音頻會(huì)話系統(tǒng)中中轉(zhuǎn)服務(wù)器對(duì)音頻數(shù)據(jù)進(jìn)行混音處理的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]為了對(duì)本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對(duì)照附圖詳細(xì)說明本發(fā)明的【具體實(shí)施方式】。
[0046]如圖1所示,為本發(fā)明一種多人網(wǎng)絡(luò)音頻會(huì)話方法實(shí)施例的流程示意圖,在該實(shí)施例中,該多人網(wǎng)絡(luò)音頻會(huì)話方法包括如下步驟:
[0047]S1、同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端通過房間信令服務(wù)器建立會(huì)話連接,房間信令服務(wù)器將接收到的音頻會(huì)話房間的信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫,并通知控制服務(wù)器和中轉(zhuǎn)服務(wù)器獲取所述的音頻會(huì)話房間的信息
[0048]S2、每一客戶端分別發(fā)送相應(yīng)的控制信息至控制服務(wù)器,控制服務(wù)器將接收到的控制信息存儲(chǔ)于后臺(tái)數(shù)據(jù)庫,并通知中轉(zhuǎn)服務(wù)器獲取所述的控制信息;
[0049]S3、每一客戶端分別發(fā)送音頻數(shù)據(jù)給中轉(zhuǎn)服務(wù)器,中轉(zhuǎn)服務(wù)器獲取后臺(tái)數(shù)據(jù)庫中存儲(chǔ)的音頻會(huì)話房間的信息和與該音頻會(huì)話房間的信息相對(duì)應(yīng)的控制信息,并根據(jù)這些控制信息,把分配給每一客戶端的至少一路音頻數(shù)據(jù)進(jìn)行混音處理后轉(zhuǎn)發(fā)給相應(yīng)的客戶端。
[0050]在上述中,由房間信令服務(wù)器創(chuàng)建音頻會(huì)話房間,并將音頻會(huì)話房間的信息存儲(chǔ)在后臺(tái)數(shù)據(jù)庫中,可以理解的是,房間信令服務(wù)器是可以創(chuàng)建多個(gè)音頻會(huì)話房間的,后臺(tái)數(shù)據(jù)庫中存儲(chǔ)有每一音頻會(huì)話房間的信息(如包括房間號(hào),在該房間內(nèi)參與會(huì)話的各個(gè)客戶端的ID號(hào)等),在同一音頻會(huì)話房間內(nèi),包括多個(gè)客戶端,這多個(gè)客戶端可以是便攜式電腦、手機(jī)、臺(tái)式電腦等中的一種或幾種,這多個(gè)客戶端需先通過房間信令服務(wù)來建立會(huì)話連接。如圖2所示,多個(gè)客戶端建立會(huì)話連接具體包括:
[0051]S11、由第一客戶端向房間信令服務(wù)器發(fā)出創(chuàng)建房間的請(qǐng)求指令,房間房間信令服務(wù)器接收到請(qǐng)求指令后創(chuàng)建音頻會(huì)話房間;
[0052]S12、房間信令服務(wù)器向第一客戶端請(qǐng)求參與會(huì)話的至少一個(gè)客戶端發(fā)起創(chuàng)建房間的通知,邀請(qǐng)參與會(huì)話的至少一個(gè)客戶端加入該音頻會(huì)話房間;
[0053]S13、參與會(huì)話的至少一個(gè)客戶端分別發(fā)送應(yīng)答指令至房間信令服務(wù)器,應(yīng)答指令包括同意或拒絕;
[0054]S14、第一客戶端和同意參與會(huì)話的客戶端通過房間信令服務(wù)器建立起會(huì)話連接。
[0055]在本實(shí)施例中,房間信令服務(wù)器主要用于提供房間管理服務(wù),由某一客戶端,在此設(shè)為第一客戶端發(fā)送創(chuàng)建房間的請(qǐng)求指令至房間信令服務(wù)器,該請(qǐng)求指令包括邀請(qǐng)至少一個(gè)客戶端進(jìn)入房間以建立會(huì)話連接。
[0056]房間信令服務(wù)器根據(jù)該請(qǐng)求指令創(chuàng)建一個(gè)音頻會(huì)話房間,并給該第一客戶端請(qǐng)求參與會(huì)話的至少一個(gè)客戶端發(fā)出創(chuàng)建房間的通知,該至少一個(gè)客戶端被邀請(qǐng)進(jìn)入該房間。在步驟S12和步驟S13之間還包括:由第一客戶端發(fā)送同意/拒絕進(jìn)入房間的指令給房間信令服務(wù)器,房間信令服務(wù)器將同意/拒絕進(jìn)入房間的通知下發(fā)給邀請(qǐng)參與會(huì)話的至少一個(gè)客戶端。
[0057]之后該至少一個(gè)客戶端會(huì)根據(jù)自身的需求發(fā)送應(yīng)答指令給房間信令服務(wù)器,若同意加入此次會(huì)話,則第一客戶端與該客戶端建立會(huì)話連接,若該客戶端拒絕加入此次會(huì)話,則房間信令服務(wù)器會(huì)自動(dòng)將該客戶端移出房間??梢岳斫獾氖牵@里的房間信令服務(wù)器可以管理音頻會(huì)議房間的創(chuàng)建/銷毀、人員的添加/刪除以及對(duì)請(qǐng)求加入房間的申請(qǐng)人員的拒絕/同意,此外,對(duì)于非房間內(nèi)人員,可以通過查詢?cè)摲块g號(hào)來請(qǐng)求加入。
[0058]通過上述描述,步驟S1中的已建立會(huì)話連接的多個(gè)客戶端為第一客戶端以及同意參與會(huì)話的客戶端,第一客戶端為這多個(gè)客戶端中的一個(gè)。
[0059]以下描述均以位于同一音頻會(huì)話房間內(nèi)的已建立會(huì)話連接的多個(gè)客戶端的會(huì)話過程為例,為了更好地說明建立會(huì)話的具體過程,現(xiàn)以建立會(huì)話連接的四個(gè)客戶端為例。如圖3所示,這多個(gè)客戶端包括客戶端A、客戶端B、客戶端C和客戶端D,這四個(gè)客戶端均通過網(wǎng)絡(luò)與房間信令服務(wù)器連接,在這里客戶端A為第一客戶端,由客戶端A向信令服務(wù)器發(fā)出創(chuàng)建房間的請(qǐng)求指令,請(qǐng)求客戶端B、客戶端C和客戶端D加入房間以建立會(huì)話連接,房間信令服務(wù)器接收到該請(qǐng)求指令后創(chuàng)建一個(gè)音頻會(huì)話房間,同時(shí)房間信令服務(wù)器向客戶端B、客戶端C和客戶端D發(fā)出創(chuàng)建房間的通知,邀請(qǐng)客戶端B、客戶端C和客戶端D進(jìn)入該音頻會(huì)話房間。
[0060]之后,客戶端A發(fā)送同意/拒絕進(jìn)入房間的指令給房間信令服務(wù)器,房間信令服務(wù)器將同意/拒絕進(jìn)入房間的通知下發(fā)給客戶端B、客戶端C和客戶端D,這三個(gè)客戶端可以根據(jù)各自的需求進(jìn)行同意或拒絕處理,客戶端A和同意參與會(huì)話的客戶端則通過信令服務(wù)器建立起會(huì)話連接,若某一客戶端拒絕加入此次會(huì)話,則信令服務(wù)器接收到該應(yīng)答指令后,將該客戶端移出房間。若客戶端B、客戶端C和客戶端D均同意加入此次會(huì)話,則這四個(gè)客戶端通過信令服務(wù)器建立會(huì)話連接。
[0061]另外,若客戶端A想退出該音頻會(huì)話房間,則發(fā)送退出房間的指令給房間信令服務(wù)器,房間信令服務(wù)器接收到該指令后發(fā)送退出房間的通知至客戶端B、客戶端C和客戶端D,所有客戶端均退出該房間。另外,當(dāng)音頻會(huì)話房間的信息發(fā)生變更時(shí),如上述某人同意/拒絕進(jìn)入房間、退出房間,房間信令服務(wù)會(huì)通知后臺(tái)數(shù)據(jù)庫實(shí)時(shí)更新該音頻會(huì)話房間的信息,并通知控制服務(wù)器和中轉(zhuǎn)服務(wù)器去后臺(tái)數(shù)據(jù)庫獲取更新后的音頻會(huì)話房間的信息。本實(shí)施例只是為了更好地說明本發(fā)明建立會(huì)話連接的過程,其客戶端的個(gè)數(shù)并不限于此,在此不再贅述。
[0062]在同一音頻會(huì)話房間內(nèi)的多個(gè)客戶端通過房間信令服務(wù)器建立會(huì)話連接后,由控制服務(wù)器來管理控制在房間里的每個(gè)客戶端請(qǐng)求的某路音頻信息、屏蔽的某路音頻信息,并進(jìn)行網(wǎng)絡(luò)的傳輸控制管理、擁塞控制管理等音頻內(nèi)容是否進(jìn)行傳輸?shù)墓芾砜刂啤?br>[0063]具體地,在已建立會(huì)話連接的多個(gè)客戶端中,每一客戶端會(huì)發(fā)送相應(yīng)的控制信息給控制服務(wù)器,控制服務(wù)器會(huì)將這些控制信息存儲(chǔ)至后臺(tái)服務(wù)器中,并通知中轉(zhuǎn)服務(wù)獲取所述的控制信息,這里需要說明的是,后臺(tái)服務(wù)器中存儲(chǔ)的音頻會(huì)話房間的信息是與該音頻會(huì)話房間內(nèi)的每個(gè)客戶端發(fā)送的控制信息是一一對(duì)應(yīng)的,即一個(gè)音頻會(huì)話房間內(nèi)存儲(chǔ)的是同一音頻會(huì)話房間的所有客戶端發(fā)送的控制信息。每一控制信息包括需求某一個(gè)或多個(gè)客戶端的音頻數(shù)據(jù)以及請(qǐng)求對(duì)某一個(gè)或多個(gè)客戶端屏蔽自身的音頻數(shù)據(jù),也就是說,控制信息又包括第一指令和第二指令,第一指令表示需求某一客戶端的音頻數(shù)據(jù);第二指令表示向某一客戶端屏蔽自身的音頻數(shù)據(jù),其中:與第一指令相比,第二指令具有最高優(yōu)先權(quán)