[發明專利]一種基于媒體服務器實現音頻合成的方法及設備無效
| 申請號: | 200910189123.3 | 申請日: | 2009-12-21 |
| 公開(公告)號: | CN102104580A | 公開(公告)日: | 2011-06-22 |
| 發明(設計)人: | 王叢華 | 申請(專利權)人: | 康佳集團股份有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;G10L13/00 |
| 代理公司: | 廣州三環專利代理有限公司 44202 | 代理人: | 郝傳鑫;潘中毅 |
| 地址: | 518053 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 媒體 服務器 實現 音頻 合成 方法 設備 | ||
1.一種基于媒體服務器實現音頻合成的方法,其特征在于,包括:
應用進程與媒體服務器建立網絡連接;
在建立所述網絡連接之后,所述媒體服務器接收所述應用進程發送的多路媒體數據流;
所述媒體服務器對所述多路媒體數據流進行合成運算,并將所述合成的多路媒體數據流輸出。
2.如權利要求1所述的方法,其特征在于,所述多路媒體數據流為特效音頻數據流。
3.如權利要求1或2所述的方法,其特征在于,所述應用進程與媒體服務器建立網絡連接步驟之前包括:
所述媒體服務器預先設置套接字、數據接收隊列和合成隊列。
4.如權利要求3所述的方法,其特征在于,所述在建立所述網絡連接之后,所述媒體服務器接收所述應用進程發送的多路媒體數據流步驟包括:
所述媒體服務器通過預先設置的套接字接收所述應用進程發送的多路媒體數據流;
所述媒體服務器將接收到的多路媒體數據流存儲在所述數據接收隊列中。
5.如權利要求1至4任一項所述的方法,其特征在于,所述媒體服務器對所述多路媒體數據流進行合成運算具體為:
遍歷所述數據接收隊列中的每一個元素的鏈表頭;
當所述鏈表頭不為空時,從所述數據接收隊列中讀取媒體數據;
將所述讀取的媒體數據與所述合成隊列中的媒體數據進行合成運算,并保存在所述合成隊列中。
6.如權利要求5所述的方法,其特征在于,所述將所述讀取的媒體數據與合成隊列中的媒體數據進行合成運算,并保存在所述合成隊列中步驟具體為:
判斷所述讀取的媒體數據的位數;
當所述媒體數據的位數為8位采樣數據時,將所述數據接收隊列中的每一個字節與所述合成隊列中的每一個字節分別相加并減去0x80,并保存在所述合成隊列中;
當所述媒體數據的位數為16位采樣數據時,將所述數據接收隊列中的每兩個字節與所述合成隊列中的每兩個字節分別相加,并保存在所述合成隊列中。
7.如權利要求6所述的方法,其特征在于,所述將所述數據接收隊列中的每兩個字節與所述合成隊列中的每兩個字節分別相加步驟還包括:
判斷所述數據接收隊列中的每兩個字節與所述合成隊列中的每兩個字節分別相加的結果是否溢出;
當所述相加的結果大于32767時,將所述相加的結果更改為0x7FFF并保存在所述合成隊列中;
當所述相加的結果小于-32768時,將所述相加的結果更改為0x8000并保存在所述合成隊列中。
8.一種基于媒體服務器實現音頻合成的設備,其特征在于,包括:
通信單元,用于應用進程與媒體服務器建立網絡連接;
接收單元,用于在建立所述網絡連接之后,所述媒體服務器接收所述應用進程發送的多路媒體數據流;
合成單元,用于所述媒體服務器對所述多路媒體數據流進行合成運算,并將所述合成的多路媒體數據流輸出。
9.如權利要求8所述的設備,其特征在于,所述設備還包括:
設置單元,用于所述媒體服務器預先設置套接字、數據接收隊列和合成隊列;
存儲單元,用于將所述接收單元接收到的多路媒體數據流存儲在所述數據接收隊列中。
10.如權利要求9所述的設備,其特征在于,所述合成單元包括:
遍歷單元,用于遍歷所述數據接收隊列中的每一個元素的鏈表頭;
讀取單元,用于當所述鏈表頭不為空時,從所述數據接收隊列中讀取媒體數據;
合成子單元,用于將所述讀取單元讀取的媒體數據與所述合成隊列中的媒體數據進行合成運算,并保存在所述合成隊列中。
11.如權利要求10所述的設備,其特征在于,所述合成子單元包括:
第一判斷單元,用于判斷所述讀取單元讀取的媒體數據的位數;
第一運算單元,用于當所述媒體數據的位數為8位采樣數據時,將所述數據接收隊列中的每一個字節與所述合成隊列中的每一個字節分別相加并減去0x80,并保存在所述合成隊列中;
第二運算單元,用于當所述媒體數據的位數為16位采樣數據時,將所述數據接收隊列中的每兩個字節與所述合成隊列中的每兩個字節分別相加,并保存在所述合成隊列中。
12.如權利要求11所述的設備,其特征在于,所述第二運算單元包括:
第二判斷單元,用于判斷所述數據接收隊列中的每兩個字節與所述合成隊列中的每兩個字節分別相加的結果是否溢出;
第一處理單元,用于當所述相加的結果大于32767時,將所述相加的結果更改為0x7FFF并保存在所述合成隊列中;
第二處理單元,用于當所述相加的結果小于-32768時,將所述相加的結果更改為0x8000并保存在所述合成隊列中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于康佳集團股份有限公司,未經康佳集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910189123.3/1.html,轉載請聲明來源鉆瓜專利網。





