專利名稱:實現遠程實時播放接收聲音的方法及系統的制作方法
技術領域:
本發明涉及一種通過計算機網絡實現在多臺遠程計算機上接收服務器端播放聲音(混音器輸出)的方法及其系統,特別是指將服務器端播放的聲音實時捕獲,并將捕獲的數據實時傳送到客戶端,并由客戶端實時播放的方法和系統;屬于計算機網絡及多媒體技術領域。
背景技術:
隨著計算機網絡技術的高速發展,計算機網絡日益擴展,網絡的傳輸方式越來越受到人們的重視。通過網絡來傳輸多媒體文件,并將其應用于商業目的的也越來越多。現有計算機網絡傳輸聲音文件的實現方法為客戶機通過網絡和服務器建立連接;在服務器端,服務器端軟件把位于本地的聲音文件按照特定的協議分成多個片段,逐次發送給到客戶機,直到整個文件發送完成;在客戶機端,客戶端軟件在其本地建立緩存,保存接收到的聲音文件片段,當客戶機緩存中的文件數據達到一定的數量時,客戶機通過本地的播放器軟件和聲音硬件(例如聲卡)開始播放聲音;此后,播放文件和接收文件兩個過程同時進行,直到整個文件都被接收和播放完為止。
由上述的方法可知,現有計算機聲音傳輸技術的特點是通過網絡實現文件共享,客戶端播放的聲音數據僅僅是位于服務器上的聲音文件,而客戶端不能接收并播放服務器當前正在播放的聲音實況。
發明內容
本發明的主要目的在于針對現有技術之不足而提供一種實現遠程實時播放接收聲音的方法及系統,可以實現服務器上的聲音輸出(包括音樂等)在一臺或多臺遠程計算機上的實時播放。
本發明的又一目的在于提供一種實現遠程實時播放接收聲音的方法及系統,可以播放服務器上來自多種不同聲音源的聲音輸出,節約大量的軟件費用,用于多媒體教學,計算機遠程實時監控,以及INTERNET音樂廣播等商業用途。
本發明的目的是這樣實現的一種實現遠程實時播放接收聲音的方法,至少包括步驟1服務器端實時捕獲服務器上多種聲音輸入或輸出的聲音數據并發送給客戶端;步驟2客戶端接收服務器端發送的聲音數據并實時進行播放。
上述的步驟1至少包括步驟11在服務器端捕獲服務器聲音設備的混音器輸出信號,并以聲音數據文件的格式存入服務器的一個緩沖區;步驟12將緩沖的聲音數據進行壓縮,然后保存至壓縮后數據緩沖區;步驟13將位于壓縮后數據緩沖區內的數據通過網絡廣播或多播的形式發送給客戶端。
上述的步驟2至少包括步驟21客戶端從網絡上接收服務器發出的壓縮后的聲音數據,并將該數據存放在客戶端的緩沖區中;步驟22將接收并存放在緩沖區的壓縮后的聲音數據按照與服務器端相應的算法解壓縮,并將該解壓縮聲音數據存放到緩沖區中;步驟23將存放在緩沖區的解壓縮聲音數據通過客戶端本地聲音設備進行播放。
上述的聲音數據的格式為WAV(波形文件)格式。
服務器上聲音輸入至少包括WAV聲音文件播放輸入、麥克風輸入、CD(數字音頻光盤)輸入或MIDI(樂器數字界面)輸入;所述的壓縮或截壓縮具體通過調用CODEC(多媒體數字信號編解碼器)實現。
一種實現遠程實時播放接收聲音的系統,至少包括由一臺或一臺以上服務器及一臺或一臺以上客戶端構成的計算機網絡系統,其特征在于該計算機網絡系統中,至少有一臺服務器和所有客戶端均設有聲音設備;且該服務器上設有服務端模塊,用于對輸入的聲音數據實時廣播;客戶端裝設有客戶端模塊,用于實時接收和播出聲音。
所述的服務器端模塊至少包括聲音捕獲模塊,用于捕獲服務器上聲音設備的混音器輸出,并以聲音數據文件的格式存入服務器的一個緩沖區;聲音壓縮模塊,用于將緩沖的聲音數據進行壓縮,然后保存至壓縮后數據緩沖區;網絡發送模塊,用于將位于壓縮后數據緩沖區內的數據通過網絡廣播或多播的形式發送向客戶端。對于客戶端并無特殊的限制,只要安裝了客戶端模塊即可接收到該數據。
所述的客戶端模塊至少包括網絡接收模塊,用于從網絡上接收服務器發送的壓縮后數據,并對其進行緩沖;聲音解壓模塊,用于將緩沖的壓縮后數據按照與服務器端相應的算法解壓,并進行緩沖;聲音播放模塊,用于將緩沖的聲音數據通過本地聲音設備進行播放。
所述的聲音數據的格式為WAV格式。服務器上聲音輸入至少包括WAV聲音文件播放輸入、麥克風輸入、CD輸入或MIDI輸入。所述的壓縮或截壓縮具體通過調用CODEC實現。
本發明所揭示的系統及方法與現有技術相比,其優點在于1、客戶機上播出的聲音是當前服務器上的聲音播出實況,不是原始的聲音文件的拷貝的分發。因此在客戶端播放接收到的聲音(包括音樂等)時,不受正在服務器上播放的聲音文件的著作權的限制。
2、同時可以有多臺安裝了客戶端軟件的客戶機接收服務器的廣播。
3、客戶端上只要具備WAV或其他某種播放器軟件,就可以播放服務器上來自多種不同聲音源(包括聲音文件播放輸入、麥克風輸入、CD輸入和MIDI輸入等)的聲音輸出,可以節約大量的軟件費用。
圖1為本發明的硬件系統組成示意圖;圖2為本發明的軟件系統組成示意圖。
具體實施例方式
下面結合附圖和具體實施方案對本發明做進一步的詳細說明。
本發明揭示了一種實現遠程實時播放接收聲音的系統及方法,其具體實施例是提供一個軟件系統,實現聲音的實時接收播放。
參見圖1,服務器1和多臺客戶2機通過計算機網絡連接,以構成本發明的軟件系統的運行環境。
參見圖2,本發明在上述的網絡基礎之上,還設有安裝在聲音服務器1上的服務端模塊;以及分別安裝到每一臺客戶機上的客戶端模塊。
該服務器端模塊至少包括3個子模塊1、聲音捕獲模塊11,用于捕獲服務器上聲音設備的混音器輸出,并以WAV文件的格式存入服務器的一個緩沖區。實現上述功能的具體方法是a、打開混音器設備,作為音頻輸入設備;
b、申請緩沖區;c、向聲音驅動添加該緩沖區,聲音驅動將向該緩沖區填充捕獲的數據;d、當該緩沖區被填充完捕獲的數據后,系統通知該捕獲模塊,該緩沖區內的數據將被提供給聲音壓縮模塊壓縮,如果退出,則執行e,否則,執行b;e、關閉該聲音輸入設備。
2、聲音壓縮模塊12,用于將緩沖的WAV聲音數據進行壓縮,然后保存至壓縮后數據緩沖區。在本發明的實施例中,本模塊在WINDOWS操作系統中的實現具體可以依靠調用CODEC來實現。其實現具體方法與聲音截取類似a、打開CODEC;b、申請2個緩沖區,用于將待壓縮的數據復制到緩沖區1;緩沖區2用于存放壓縮后的數據,然后開設該兩個緩沖區;c、向CODEC提交兩個緩沖區;d、當轉換完成后,系統通知本模塊,被壓縮后的數據將被提供給網絡發送模塊;如果退出,則執行e;如果繼續,則執行b;e、關閉CODEC。
3、網絡發送模塊13,用于將位于壓縮后數據緩沖區內的數據通過網絡廣播或多播的形式發送向客戶端。對于客戶端并無特殊的限制,只要安裝了客戶端模塊即可接收到該數據。
客戶端模塊至少也包括3個模塊1、網絡接收模塊21,用于從網絡上接收服務器1發送的壓縮后數據,并對其進行緩沖;2、聲音解壓模塊22,用于將緩沖的壓縮后數據按照與服務器端1相應的算法解壓成WAV格式的聲音數據,并進行緩沖。本模塊在WINDOWS操作系統中的實現具體可以依靠調用CODEC來實現,解壓后的聲音數據為WAV格式,用于提供給聲音播放模塊23;3、聲音播放模塊23,用于將緩沖的WAV聲音通過本地聲音設備和軟件播放。該功能的實現過程與截取方法類似,具體方法如下a、打開混音器設備,將其作為音頻輸入設備;b、申請緩沖區,用于將WAV聲音數據復制到該緩沖區;然后開設該聲音緩沖區;c、向聲音驅動添加該緩沖區;d、當該緩沖區的聲音數據被播放后,系統通知本捕獲模塊;如果退出,則執行e,否則,執行b;e、關閉該聲音輸入設備。
本發明通過捕獲服務器上1的實時的混音器輸出,并將其傳送到客戶端2,實現了服務器1上的多種聲音輸入來源的遠程播放。服務器1上聲卡的輸入包括WAV聲音文件輸入、麥克風輸入、CD輸入和MIDI輸入等。
最后所應說明的是以上實施例僅用以說明而非限制本發明的技術方案,盡管參照上述實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解依然可以對本發明進行修改或者等同替換,而不脫離本發明的精神和范圍的任何修改或局部替換,其均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種實現遠程實時播放接收聲音的方法,其特征在于該方法至少包括步驟1服務器端實時捕獲服務器上多種聲音輸入或輸出的聲音數據并發送給客戶端;步驟2客戶端接收服務器端發送的聲音數據并實時進行播放。
2.根據權利要求1所述的實現遠程實時播放接收聲音的方法,其特征在于步驟1至少包括步驟11在服務器端捕獲服務器聲音設備的混音器輸出信號,并以聲音數據文件的格式存入服務器的一個緩沖區;步驟12將緩沖的聲音數據進行壓縮,然后保存至壓縮后數據緩沖區;步驟13將位于壓縮后數據緩沖區內的數據通過網絡廣播或多播的形式發送給客戶端。
3.根據權利要求1所述的實現遠程實時播放接收聲音的方法,其特征在于步驟2至少包括步驟21客戶端從網絡上接收服務器發出的壓縮后的聲音數據,并將該數據存放在客戶端的緩沖區中;步驟22將接收并存放在緩沖區的壓縮后的聲音數據按照與服務器端相應的算法解壓縮,并將該解壓縮聲音數據存放到緩沖區中;步驟23將存放在緩沖區的解壓縮聲音數據通過客戶端本地聲音設備進行播放。
4.根據權利要求1或2或3所述的實現遠程實時播放接收聲音的方法,其特征在于所述的聲音數據的格式為WAV格式。
5.根據權利要求1所述的實現遠程實時播放接收聲音的方法,其特征在于服務器上聲音輸入至少包括WAV聲音文件播放輸入、麥克風輸入、CD輸入或MIDI輸入。
6.根據權利要求2或3所述的實現遠程實時播放接收聲音的系統,其特征在于所述的壓縮或解壓縮具體通過調用CODEC實現。
7.一種實現遠程實時播放接收聲音的系統,其特征在于該系統至少包括由一臺或一臺以上服務器及一臺或一臺以上客戶端構成的計算機網絡系統,其特征在于該計算機網絡系統中,至少有一臺服務器和所有客戶端均設有聲音設備;且該服務器上設有服務端模塊,用于對輸入的聲音數據實時廣播;客戶端裝設有客戶端模塊,用于實時接收和播出聲音。
8.根據權利要求7所述的實現遠程實時播放接收聲音的系統,其特征在于所述的服務器端模塊至少包括聲音捕獲模塊,用于捕獲服務器上聲音設備的混音器輸出,并以聲音數據文件的格式存入服務器的一個緩沖區;聲音壓縮模塊,用于將緩沖的聲音數據進行壓縮,然后保存至壓縮后數據緩沖區;網絡發送模塊,用于將位于壓縮后數據緩沖區內的數據通過網絡廣播或多播的形式發送向客戶端。對于客戶端并無特殊的限制,只要安裝了客戶端模塊即可接收到該數據。
9.根據權利要求7所述的實現遠程實時播放接收聲音的系統,其特征在于所述的客戶端模塊至少包括網絡接收模塊,用于從網絡上接收服務器發送的壓縮后數據,并對其進行緩沖;聲音解壓模塊,用于將緩沖的壓縮后數據按照與服務器端相應的算法解壓,并進行緩沖;聲音播放模塊,用于將緩沖的聲音數據通過本地聲音設備進行播放。
10.根據權利要求7或8或9所述的實現遠程實時播放接收聲音的系統,其特征在于所述的聲音數據的格式為WAV格式。
11.根據權利要求7所述的實現遠程實時播放接收聲音的系統,其特征在于服務器上聲音輸入至少包括WAV聲音文件播放輸入、麥克風輸入、CD輸入或MIDI輸入。
12.根據權利要求8或9所述的實現遠程實時播放接收聲音的系統,其特征在于所述的壓縮或解壓縮具體通過調用CODEC實現。
全文摘要
一種實現遠程實時播放接收聲音的方法及系統,服務器端實時捕獲服務器上多種聲音輸入或輸出的聲音數據并發送給客戶端;客戶端接收服務器端發送的聲音數據并實時進行播放。該系統至少包括由服務器及客戶端構成的計算機網絡系統;該計算機網絡系統中,至少有一臺服務器和所有客戶端均設有聲音設備;且該服務器上設有服務端模塊,用于對輸入的聲音數據實時廣播;客戶端裝設有客戶端模塊,用于實時接收和播出聲音。本發明使得一臺服務器上的多種聲音來源的播放實況,可以通過遠程的多臺計算機播放出來;可用于多媒體教學、計算機遠程實時監控以及INTERNET音樂廣播等商業用途。
文檔編號G06F15/16GK1510585SQ0215808
公開日2004年7月7日 申請日期2002年12月24日 優先權日2002年12月24日
發明者劉渤, 孫成昆, 徐超, 易賢群, 劉 渤 申請人:聯想(北京)有限公司