一種遠程桌面體系的音頻處理方法和設備的製作方法
2023-05-19 11:11:11 3
專利名稱:一種遠程桌面體系的音頻處理方法和設備的製作方法
技術領域:
本發明涉及計算機及通信技術領域,尤其涉及一種遠程桌面體系的音頻處理方法 和設備。
背景技術:
遠程桌面體系(RDP,Remote Desktop Protocol)主要包括客戶端和伺服器端, 現有的很多系統,例如windows xp系統,都同時包括客戶端和伺服器端,也就是說一臺 windows xp系統的電腦,既可以當成客戶端來連到別的裝了 Windows xp的電腦,並對其進 行控制,也可以做伺服器端,被別的電腦控制。通過遠程桌面管理,可以連接到遠程電腦的桌面,操作遠程的電腦實現多種操作, 例如收發郵件、看電影、聽音樂,進行用戶管理等等,就像對本地的電腦進行操作一樣。發明人通過對現有技術的研究發現,目前的系統所提供的音頻驅動對音頻數據的 處理流程非常複雜,一般存在很大的輸出延時,某些系統的輸出延遲甚至達到1秒,延遲時 間過長,應用了用戶的使用,例如,當用戶通過RDP觀看電影時,出現聲音與畫面嚴重不同 步,影響觀看。
發明內容
有鑑於此,本發明實施例的目的在於提供一種遠程桌面體系的音頻處理方法和設 備,簡化伺服器對音頻數據的處理流程,減少音頻數據的延遲。為實現上述目的,本發明實施例提供了如下技術方案一種遠程桌面體系的音頻處理方法,包括接收到伺服器端作業系統的音頻發送請求時,向客戶端發起連接,建立第一通 道;接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。接收到伺服器端作業系統的音頻發送請求時,建立第一通道具體為
形成音頻播放設備對象創建命令;根據所述音頻播放設備對象創建命令在伺服器端創建第一音頻播放設備對象;根據所述第一音頻播放設備對象在伺服器端與客戶端之間建立第一通道。通過所述第一通道向客戶端發送音頻數據具體為通過所述第一通道向客戶端發送音頻播放設備對象創建命令;根據所述音頻播放設備對象創建命令在客戶端創建第二音頻播放設備對象;通過伺服器端的第一音頻播放設備對象將音頻數據從伺服器端經第一通道發送 至客戶端的第二音頻播放設備對象。該方法還包括統計音頻數據發送參數,並將所述數據發送參數反饋給系統,以使系統根據所述 音頻數據發送參數對所述音頻數據的發送進行控制。
一種遠程桌面體系的音頻處理方法,包括接收到伺服器端作業系統的音頻接收命令時,向客戶端發起連接,建立第二通 道;通過所述第二通道接收客戶端發送的音頻數據。接收到伺服器端作業系統的音頻接收命令時,向客戶端發起連接,建立第二通道 具體為形成音頻接收設備對象創建命令;根據所述音頻接收設備對象創建命令在伺服器端創建第一音頻接收設備對象;根據所述第一音頻接收設備對象在伺服器端與客戶端之間建立第二通道。通過所述第二通道接收客戶端發送的音頻數據具體為通過所述第二通道向客戶端發送音頻接收設備對象創建命令;根據所述音頻接收設備對象創建命令在客戶端創建第二音頻接收設備對象;通過客戶端的第二音頻接收設備對象接收音頻數據,並將接收的音頻數據通過第 二通道發送至伺服器端的第一音頻接收設備對象。該方法還包括接收音頻接收終止命令時,通知所述客戶端停止音頻數據的發送,並斷開所述第
二通道。一種遠程桌面體系的音頻處理設備,包括第一連接單元,用於接收到伺服器端作業系統的音頻發送請求時,向客戶端發起 連接,建立第一通道;發送單元,用於接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。所述第一連接單元包括第一命令創建子單元,用於接收到伺服器端作業系統的音頻發送請求時,形成音 頻播放設備對象創建命令;第一對象創建子單元,用於根據所述音頻播放設備對象創建命令在伺服器端創建 第一音頻播放設備對象;第一連接子單元,用於根據所述第一音頻播放設備對象在伺服器端與客戶端之間 建立第一通道。所述發送單元包括第一命令發送子單元,用於通過所述第一通道向客戶端發送音頻播放設備對象創 建命令;第二對象創建子單元,用於根據所述音頻播放設備對象創建命令在客戶端創建第 二音頻播放設備對象;發送子單元,用於通過伺服器端的第一音頻播放設備對象將音頻數據從伺服器端 經第一通道發送至客戶端的第二音頻播放設備對象。該設備還包括第一控制單元,用於統計音頻數據發送參數,並將所述數據發送參數反饋給系統, 以使系統根據所述音頻數據發送參數對所述音頻數據的發送進行控制。一種遠程桌面體系的音頻處理設備,包括
第二連接單元,用於接收到伺服器端作業系統的音頻接收命令時,向客戶端發起 連接,建立第二通道;接收單元,用於通過所述第二通道接收客戶端發送的音頻數據。所述第二連接單元包括第二命令創建子單元,用於接收到伺服器端作業系統的音頻接收命令時,形成音 頻接收設備對象創建命令;第三對象創造子單元,用於根據所述音頻接收設備對象創建命令在伺服器端創建 第一音頻接收設備對象;第二連接子單元,用於根據所述第一音頻接收設備對象在伺服器端與客戶端之間 建立第二通道。所述接收單元包括第二命令發送單元,用於通過所述第二通道向客戶端發送音頻接收設備對象創建 命令;第四對象創建子單元,用於根據所述音頻接收設備對象創建命令在客戶端創建第 二音頻接收設備對象;接收子單元,通過客戶端的第二音頻接收設備對象接收音頻數據,並將接收的音 頻數據通過第二通道發送至伺服器端的第一音頻接收設備對象。該設備還包括第二控制單元,用於接收到音頻接收終止命令時,通知所述客戶端停止音頻數據 的發送,並斷開所述第二通道。可見,在本發明實施例中,接收到伺服器端作業系統的音頻發送請求時,向客戶端 發起連接,建立第一通道;接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。本 發明實施例所提供的方案,在接收到系統的音頻發送請求後,向客戶端發起連接,建立一條 發送音頻數據的專用通道——第一通道,並通過該第一通道向客戶端發送音頻數據。
圖1本發明一實施例所提供的方法的流程圖;圖2為本發明一實施例所提供場景示意圖;圖3為本發明又一實施例所提供的方法的流程圖;圖4為本發明另一實施例所提供的方法的流程圖;圖5為本發明又一實施例所提供的方法的流程圖;圖6為本發明一實施例所提供的裝置的結構示意圖;圖7為本發明一實施例所提供的裝置中一單元的結構示意圖;圖8為本發明一實施例所提供的裝置中另一單元的結構示意圖;圖9為本發明另一實施例所提供的裝置的結構示意圖;圖10為本發明另一實施例所提供的裝置中一單元的結構示意圖;圖11為本發明另一實施例所提供的裝置中另一單元的結構示意圖。
具體實施例方式本發明實施例公開了一種遠程桌面體系的音頻處理方法和設備,為使本發明的目 的、技術方案及優點更加清楚明白,以下參照附圖並舉實施例,對本發明作進一步詳細說 明。參見圖1,本發明一實施例提供一種遠程桌面體系的音頻處理方法,包括S101、接收到系統的音頻發送請求時向客戶端發起連接,建立第一通道;該音頻發送請求可以是系統主動發送的,也可以是系統應客戶端的請求發送的。 例如,系統主動向與其連接的一客戶端播放一種背景音樂,此時就是系統主動發起該音頻 發送請求。或者,一用戶希望通過與遠程桌面體系連接的一客戶端收聽一首歌曲,那麼此 時,該系統的音頻發送請求就是應客戶端的請求發送的。S102、接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。本發明實施例所提供的方法,在接收到系統的音頻發送請求後,向客戶端發起連 接,建立一條發送音頻數據的專用通道——第一通道,並通過該第一通道向客戶端發送音 頻數據。圖2為本發明實施例所應用的遠程桌面體系的一個具體應用場景,其中,遠程桌面 體系包括伺服器201以及多個客戶端202。伺服器和客戶端通過網絡進行連接。伺服器通過 遠程桌面體系為各個客戶端提供服務。本發明實施例中,該伺服器可以通過遠程桌面體系為 客戶端提供遠程音頻播放服務。參見圖3,該場景中,本發明實施例所提供的方法包括S301、一客戶端向伺服器發送音頻播放請求,請求播放名稱為A,格式為mp3的一 首歌曲。所述客戶端通過客戶端與伺服器端原有的靜態通道進行命令的傳輸。S302、伺服器接收到該音頻播放請求後,形成音頻播放設備對象創建命令,在服務 器端創建第一音頻播放設備對象。S303、伺服器端將mp3與該第一音頻播放設備對象所能夠播放的格式進行對比, 通過比較判定該音頻播放設備能否播放mp3格式的音樂,如果能夠播放,則進入步驟S304, 否則向客戶端反饋,無法播放所要求的格式的音頻文件。伺服器端的作業系統檢查第一音頻播放設備對象所支持的聲道和頻率能力(例 如雙聲道,44. IkHz頻率),作業系統對播放器軟體提供的音頻流做轉換,轉換為第一音頻 播放設備對象所支持的聲道和頻率之一的音頻流。例如作業系統將mp3播放器要求聲道和 頻率能力與第一音頻播放設備對象所能夠提供的聲道和頻率能力進行對比,並根據自身轉 換能力,通過比較判定第一音頻播放設備對象能否播放此mp3格式的音樂,如果能夠播放, 則進入步驟S304,否則向客戶端反饋,無法播放所要求的格式的音頻文件。本發明實施例所提供的方法對該音頻播放設備能夠播放的具體的音頻文件的格 式不做限定。S304、向客戶端發起連接,根據所述第一音頻播放設備對象在伺服器端與客戶端 之間建立第一通道。該音頻發送通道即本發明實施例所提供的方法中為音頻數據的發送建立的專用 通道。實際應用中,伺服器可以通過TCP協議或者UDP協議等網絡通信協議向客戶端發起 連接,建立所述音頻發送通道。
TCP是面向連接的協議,UDP是面向非連接的協議,對於UDP協議來說,該連接就是 經過三次握手協議後再傳輸數據,而且每次傳輸一個數據包後都需要對端返回確認信息。無論是TCP、UDP都需要依靠伺服器和客戶端通過兩端的IP位址和埠號形成一 個抽象的通道來傳輸數據,也就是每個數據包包頭都有所謂的標籤信息。這樣伺服器和客 戶端這兩端才能區分數據包的目的地址和源地址。S305、通過所述第一通道向客戶端發送音頻播放設備對象創建命令,並根據所述 音頻播放設備對象創建命令在客戶端創建第二音頻播放設備對象。本發明實施例所提供的方法中,根據音頻播放設備對象創建命令,可以在伺服器 端創建第一音頻播放設備對象在和客戶端創建第二音頻播放設備對象。因為第一音頻播放 設備對象和第二音頻播放設備對象是根據同一個音頻播放設備對象創建命令創建的,所以 第一音頻播放設備對象與第二音頻播放設備對象之間存在映射關係,伺服器的作業系統對 第一音頻播放設備對象操作,就相當於對位於客戶端的第二音頻播放設備對象進行操作。S306、通知客戶端打開客戶端的音頻播放設備並設置其播放格式。所述客戶端的音頻播放設備是客戶端的第二音頻播放設備對象的真實物理設備, 可以是音效卡和喇叭。本發明實施例中,利用建立的音頻發送通道在伺服器端和客戶端之間傳遞命令, 同時還用於傳遞伺服器端與客戶端之間的音頻數據;為了對音頻通道命令與音頻數據進行 音頻發送通道中傳送的數據包進行區分,可以通過一些信息對數據包進行區分。例如,可以 給數據包的包頭定義不同的類型,用不同的數據包頭的類型來區分不同的數據包。本發明實施例中,通知客戶端打開音頻播放設備的所使用的數據包的包頭標記 type A,表示打開音頻設備,並指明設備類型是audio out (音頻輸出)。客戶端通過包頭標 記區分出是打開音頻播放設備的通知。客戶端請求播放mp3格式的音頻文件,所以設置該 音頻播放設備的音頻播放格式為mp3。S307、通過音頻發送通道向客戶端發送名稱為A,格式為mp3的音頻數據。具體地,伺服器端將音頻數據發送至第一音頻播放設備對象,該第一音頻播放設 備對象將音頻數據通過音頻發送通道發送至第二音頻播放設備對象。S308、統計音頻數據發送參數,並將所述數據發送參數反饋給系統,以使系統根據 所述音頻數據發送參數對所述音頻數據的發送進行控制。本發明實施例中的音頻數據發送參數包括已經通過所述音頻發送通道發送的音 頻數據和待發送的音頻數據。通過發送參數,系統可以對音頻數據的發送進行監控,當音 頻數據發送完畢後,系統可以關閉伺服器的音頻播放設備,進一步地,當音頻數據發送完畢 後,系統還可以斷開所述音頻發送通道。例如,當伺服器與客戶端是通過TCP協議建立的該 音頻發送通道,則系統還需要關閉socket連接。本發明實施例中,音頻數據和音頻相關的命令都通過該音頻發送通道進行發送。 具體方式可以是,向客戶端發送關閉音頻播放設備的數據包,該數據包實際上為一個音頻 相關的命令,可以通過包頭標記來標識,例如將包頭標記記為type B,表示關閉音頻設備, 並指明設備類型是audio out。客戶端通過包頭標記區分出是關閉音頻播放設備的通知。實際應用中,很多待發送至客戶端的音頻數據是經過混音後的音頻數據(例如 server2008中的audiodg. exe服務傳進的音頻數據),本發明實施例所提供的方法在接收到這些音頻數據的發送請求時,直接把該數據通過以上實施例中所創建的音頻數據專用通 道——音頻發送通道將音頻數據發送至客戶端,發送之前,在伺服器端不需要做任何數據 緩衝。本發明實施例所提供的方法,在通過音頻發送通道發送音頻數據時,根據音頻數據長 度等信息更新統計變量。本發明實施例所提供的方法,可以通過音頻數據的數據包的包頭 信息通知客戶端,其所接收的是音頻數據包,例如,將包頭標記為type C的數據包定義為音 頻數據包,並指明設備類型是audio out。這樣,客戶端僅通過數據包的包頭信息就可以確 定其接收的是音頻播放數據。客戶端通過網絡接收該音頻數據後可以進行緩衝,緩存時間可以是100 200ms, 並通過客戶端本地的音頻設備播放。對於未做混音的音頻數據(例如server2003中傳給dll的音頻數據),發明實施 例所提供的方法可以在通過音頻發送通道發送音頻數據之前,首先將多路的音頻數據進行 混音(例如,同一用戶打開多個播放器同時播放時會有多路音頻數據情況出現),對合成 的音頻數據通過音頻發送通道發送到客戶端,此時,伺服器端可以不做任何數據緩衝,並根 據音頻數據長度等信息更新統計變量。可以通過音頻數據的數據包的包頭信息通知客戶 端,其所接收的是音頻數據包,具體地,可以將包頭標記為type C並指明設備類型是audio out。這樣,客戶端僅通過數據包的包頭信息就可以確定其接收的是音頻播放數據。同樣,客戶端通過網絡接收該音頻數據後可以進行緩衝,緩存時間可以是100 200ms,並通過客戶端本地的音頻設備播放。在本發明的其他實施例中,伺服器端與客戶端之間音頻相關的命令傳輸也可以利 用遠程桌面體系中現有的靜態通道來實現。例如,客戶端通過伺服器端與客戶端之間原有 的靜態通道向伺服器端發送音頻播放請求。伺服器端收到該音頻播放請求後,形成音頻播 放設備對象創建命令,同時可以通過原有的靜態通道將該音頻播放設備對象創建命令發送 至客戶端,這樣,伺服器端和客戶端可以根據該音頻播放設備對象創建命令分別創建第一 音頻播放設備對象和第二音頻播放設備對象。然後,在所述第一音頻播放設備對象和所述 第二音頻播放設備對象之間建立第一通道。上述過程中,當第一通道建立之後,可以參照步驟S306至步驟S308從伺服器端向 客戶端發送音頻數據。本發明實施例中,通過遠程桌面體系中原有的靜態通道傳輸伺服器與客戶端之間 的命令,該第一通道創建後,可以專門用於音頻數據的發送,這樣命令包和數據包通過不同 通道進行傳輸,此時命令包和數據包不需要包頭的類型標記。現有的音頻播放方法,例如Windows系統原來的audio out中server端對音頻數 據進行了數據緩衝,並且經過了複雜的封裝後,寫道share memory中,然後通過事件(每隔 0. 4秒左右通知一次)通知RDP服務進程rdpclip. exe,並由RDP服務進程通過RDP sound static channel把數據加密後,再發送給客戶端,客戶端對接收的音頻數據,進行解密,緩 衝200ms後再播放,所以音頻延時較大。本發明實施例所提供的方法,為音頻數據的播放建 立了一條專用的通道——第一通道(具體實施例中為音頻播放通道),因為有了專用的音 頻播放通道,所以避免了音頻數據發送過程中在伺服器端的緩衝過程,從很大程度上避免 了延遲的產生。此外,本發明實施例所提供的方法不受伺服器和客戶端各自的具體的系統的限制,實現方便,具有廣泛的適用性和實用性。參見圖4,本發明實施例還提供另一種遠程桌面體系的音頻處理方法,包括S401、接收音頻接收命令,並向客戶端發起連接,建立第二通道;該音頻接收請求可以是系統主動發出的,也可以是系統應客戶端的請求發送的。 例如,系統要求一客戶端的用戶錄入一段語音,那麼此時,該音頻接收請求就是系統主動發 送的;或者,一用戶希望通過與遠程桌面體系連接的一客戶端錄製一首自己演唱的歌曲,那 麼此時,該系統的音頻發送請求就是應客戶端的請求發送的。S402、通過所述第二通道接收客戶端發送的音頻數據。本發明實施例所提供的方法,在接收到系統的音頻接收請求後,向客戶端發起連 接,建立一條接收音頻數據的專用通道——第二通道,並通過該第二通道接收客戶端發送 音頻數據。仍然以圖2的應用場景為例,例如,在該場景中,一客戶端的用戶需要通過伺服器 201來錄製一首mp3格式的歌曲,參見圖5,本發明實施例所提供的方法包括S501、一客戶端向伺服器發送音頻錄製請求,請求錄製一首名稱為B,格式為mp3 的歌曲。S502、伺服器接收到該音頻錄製請求後,形成音頻接收設備對象創建命令,在服務 器端創建第一音頻接收設備對象。S503、將mp3與該第一音頻接收設備對象所能夠接收的格式進行對比,通過比較 判定該音頻接收設備能否接收mp3格式的音頻數據,如果能夠接收,則進入步驟S504,否則 向客戶端反饋,無法接收所要求的格式的音頻文件。本發明實施例所提供的方法對該音頻 接收設備能夠接收的具體的音頻文件的格式不做限定。伺服器端的作業系統檢查第一音頻接收設備對象所支持的聲道和頻率能力(例 如雙聲道,44. IkHz頻率),作業系統對第一音頻接收設備提供的音頻流做轉換,轉換為錄 音軟體所支持的聲道和頻率的音頻流。例如作業系統將mp3錄音軟體要求聲道和頻率能 力與第一音頻接收設備所能夠提供的聲道和頻率能力進行對比,並根據自身轉換能力,通 過比較判定第一音頻接收設備能否錄製成此mp3格式的音樂,如果能夠錄製,則進入步驟 S504,否則向客戶端反饋,無法錄製所要求的格式的音頻文件。本發明實施例所提供的方法 對該音頻接收設備能夠錄製的具體的音頻文件的格式不做限定。S504、向客戶端發起連接,根據所述第一音頻接收設備對象在伺服器端與客戶端 之間建立第二通道。該音頻接收通道即本發明實施例所提供的方法為音頻數據的接收建立的專用通 道。實際應用中,伺服器可以通過TCP協議或者UDP協議等網絡通信協議向客戶端發起連 接,建立所述音頻接收通道。建立該音頻接收通道的過程與建立音頻發送通道的過程類似, 此處不再贅述。S505、通過所述第二通道向客戶端發送音頻接收設備對象創建命令,並根據該命 令在客戶端創建第二音頻接收設備對象。第一音頻接收設備對象與第二音頻接收設備對象都是根據音頻接收設備對象創 建命令創建的,兩者具有映射關係,與第一音頻播放設備對象和第二音頻播放設備對象之 間的關係類似,此處不再贅述。
S506、通知客戶端打開客戶端的音頻接收設備並設置其接收的音頻數據的格式。本發明實施例中,客戶端的音頻接收設備是客戶端的第二音頻接收設備對象的真 實物理對象,可以是音效卡和麥克風。本發明實施例中,音頻數據和音頻相關的命令都通過該音頻接收通道進行發送。 通知客戶端打開音頻接收設備的所使用的數據包的包頭標記type A表示本數據包傳遞的 是音頻相關命令,具體表示打開音頻設備,並指明設備類型是audio in (音頻輸入)。客戶 端通過包頭標記區分出是打開音頻接收設備的通知。客戶端請求錄製mp3格式的音頻文 件,所以設置該音頻接收設備的音頻接收格式為mp3。S507、通過音頻接收通道接收客戶端發送名稱為A,格式為mp3的音頻數據。S508、統計音頻數據接收參數,並將所述數據發送參數反饋給系統,以使系統根據 所述音頻數據發送參數對所述音頻數據的發送進行控制。本發明實施例中的音頻數據接收參數包括音量、聲道數、音頻頻率、音頻數據長度 等等。通過接收參數,系統可以對音頻數據的發送進行監控。進一步地,當音頻數據接收完畢後,系統還可以斷開所述音頻接收通道。例如,服 務器與客戶端是通過TCP協議建立的該音頻接收通道,則系統還需要關閉socket連接。具 體方式可以是,向客戶端發送關閉音頻播放設備的數據包,該數據包的包頭標記為type B, 表示關閉音頻設備,並指明設備類型是audioin。客戶端通過包頭標記區分出是關閉音頻播 放設備的通知。當專用通道被同時用來發送音頻數據和音頻相關命令時,可以根據實際情況設置 不同的標識來對兩種數據進行區分,本發明對具體的區分標識不做限定。實際應用中,當客戶端端通過本地錄音設備進行錄音,所錄製的音頻數據無需經 過任何緩存即可通過音頻接收通道發送到伺服器端。伺服器端通過音頻數據包的包頭信息 區分所接收的數據是需要被錄製的音頻數據的。具體地,該音頻數據包所使用包頭標記為 type C並指明設備類型是audio in。伺服器端接收到錄音數據後,去掉包頭標記,並通知系統有數據到達,系統通過調 用本地的音頻錄製設備實現遠程錄音。本發明實施例所提供的方法還可以根據音頻數據長度等信息更新統計變量。例 如,統計出的統計變量值,返回給系統。對於配置音量等信息,則修改相應的狀態變量值,並 通過上面所說的專用通道通知到客戶端更新錄音配置。通知客戶端所接收的是配置包所使 用包頭標記為type D並指明設備類型是audio in。如前所述,伺服器端與客戶端之間音頻相關的命令傳輸也可以利用遠程桌面體系 中現有的靜態通道來實現。例如,客戶端可以通過伺服器端與客戶端之間原有的靜態通道 向伺服器端發送音頻錄製請求。伺服器端收到該音頻錄製請求後,形成音頻接收設備對象 創建命令,同時可以通過原有的靜態通道將該音頻接收設備對象創建命令發送至客戶端, 這樣,伺服器端和客戶端可以根據該音頻播放設備對象創建命令分別創建第一音頻接收設 備對象和第二音頻接收設備對象。然後,在所述第一音頻接收設備對象和所述第二音頻接 收設備對象之間建立第二通道。上述過程中,當第二通道建立之後,可以參照步驟S506至步驟S508接收客戶端發 送音頻數據。
本發明實施例中,通過遠程桌面體系中原有的靜態通道傳輸伺服器與客戶端之間 的命令,該第二通道創建後,可以專門用於音頻數據的接收,這樣命令包和數據包通過不同 通道進行傳輸,此時命令包和數據包不需要包頭的類型標記。本發明實施例所提供的方法建立了專用的音頻接收通道,客戶端無需對音頻數據 進行任何緩存即可通過該專用通道向伺服器端發送待錄製的音頻數據。此外,本發明實施例所提供的方法不受伺服器端和客戶端所應用的具體的系統的 限制,實現方便,具有廣泛的適用性和實用性。參見圖6,本發明一實施例還提供一種遠程桌面體系的音頻處理設備,該設備位於 伺服器端,包括第一連接單元601,用於接收到伺服器端作業系統的音頻發送請求時,向客戶端發 起連接,建立第一通道;發送單元602,用於接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。參見圖7,所述第一連接單元601包括第一命令創建子單元701,用於接收到伺服器端作業系統的音頻發送請求時,形成 音頻播放設備對象創建命令;第一對象創建子單元702,用於根據所述音頻播放設備對象創建命令在伺服器端 創建第一音頻播放設備對象;第一連接子單元703,用於根據所述第一音頻播放設備對象在伺服器端與客戶端 之間建立第一通道。參見圖8,所述發送單元602包括第一命令發送子單元801,用於通過所述第一通道向客戶端發送音頻播放設備對 象創建命令;第二對象創建子單元802,用於根據所述音頻播放設備對象創建命令在客戶端創 建第二音頻播放設備對象;發送子單元803,用於通過伺服器端的第一音頻播放設備對象將音頻數據從服務 器端經第一通道發送至客戶端的第二音頻播放設備對象。本發明另一實施例中,圖6所示的裝置還包括第一控制單元603,用於統計音頻數據發送參數,並將所述數據發送參數反饋給系 統,以使系統根據所述音頻數據發送參數對所述音頻數據的發送進行控制。本發明實施例所提供的設備,為音頻數據的播放建立了一條專用的通道——第一 通道(具體實施例中為音頻播放通道),因為有了專用的音頻播放通道,所以避免了音頻數 據發送過程中在伺服器端的緩衝過程,從很大程度上避免了延遲的產生。此外,本發明實施例所提供的方法不受伺服器和客戶端各自的具體的系統的限 制,實現方便,具有廣泛的適用性和實用性。參見圖9,本發明一實施例還提供一種遠程桌面體系的音頻處理設備,包括第二連接單元901,用於接收到伺服器端作業系統的音頻接收命令時,向客戶端發 起連接,建立第二通道;接收單元902,用於通過所述第二通道接收客戶端發送的音頻數據。參見圖10,所述第二連接單元901包括
第二命令創建子單元1001,用於接收到伺服器端作業系統的音頻接收命令時,形 成音頻接收設備對象創建命令;第三對象創造子單元1002,用於根據所述音頻接收設備對象創建命令在伺服器端 創建第一音頻接收設備對象;第二連接子單元1003,用於根據所述第一音頻接收設備對象在伺服器端與客戶端 之間建立第二通道。參見圖11,所述接收單元902包括第二命令發送單元1101,用於通過所述第二通道向客戶端發送音頻接收設備對象 創建命令;第四對象創建子單元1102,用於根據所述音頻接收設備對象創建命令在客戶端創 建第二音頻接收設備對象;接收子單元1103,通過客戶端的第二音頻接收設備對象接收音頻數據,並將接收 的音頻數據通過第二通道發送至伺服器端的第一音頻接收設備對象。本發明另一實施例中,圖9所示的設備還包括第二控制單元903,用於接收到音頻接收終止命令時,通知所述客戶端停止音頻數 據的發送,並斷開所述第二通道。本發明實施例所提供的設備建立了專用的音頻接收通道,客戶端無需對音頻數據 進行任何緩存即可通過該專用通道向伺服器端發送待錄製的音頻數據。此外,本發明實施例所提供的方法不受伺服器端和客戶端所應用的具體的系統的 限制,實現方便,具有廣泛的適用性和實用性。本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組 件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由 通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以 位於包括存儲設備在內的本地和遠程計算機存儲介質中。以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人 員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應 視為本發明的保護範圍。
權利要求
1.一種遠程桌面體系的音頻處理方法,其特徵在於,包括接收到伺服器端作業系統的音頻發送請求時,向客戶端發起連接,建立第一通道; 接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。
2.根據權利要求1所述的方法,其特徵在於,接收到伺服器端作業系統的音頻發送請 求時,建立第一通道具體為形成音頻播放設備對象創建命令;根據所述音頻播放設備對象創建命令在伺服器端創建第一音頻播放設備對象; 根據所述第一音頻播放設備對象在伺服器端與客戶端之間建立第一通道。
3.根據權利要求2所述的方法,其特徵在於,通過所述第一通道向客戶端發送音頻數 據具體為通過所述第一通道向客戶端發送音頻播放設備對象創建命令; 根據所述音頻播放設備對象創建命令在客戶端創建第二音頻播放設備對象; 通過伺服器端的第一音頻播放設備對象將音頻數據從伺服器端經第一通道發送至客 戶端的第二音頻播放設備對象。
4.根據權利要求1所述的方法,其特徵在於,還包括統計音頻數據發送參數,並將所述數據發送參數反饋給系統,以使系統根據所述音頻 數據發送參數對所述音頻數據的發送進行控制。
5.一種遠程桌面體系的音頻處理方法,其特徵在於,包括接收到伺服器端作業系統的音頻接收命令時,向客戶端發起連接,建立第二通道; 通過所述第二通道接收客戶端發送的音頻數據。
6.根據權利要求5所述的方法,其特徵在於,接收到伺服器端作業系統的音頻接收命 令時,向客戶端發起連接,建立第二通道具體為形成音頻接收設備對象創建命令;根據所述音頻接收設備對象創建命令在伺服器端創建第一音頻接收設備對象; 根據所述第一音頻接收設備對象在伺服器端與客戶端之間建立第二通道。
7.根據權利要求6所述的方法,其特徵在於,通過所述第二通道接收客戶端發送的音 頻數據具體為通過所述第二通道向客戶端發送音頻接收設備對象創建命令; 根據所述音頻接收設備對象創建命令在客戶端創建第二音頻接收設備對象; 通過客戶端的第二音頻接收設備對象接收音頻數據,並將接收的音頻數據通過第二通 道發送至伺服器端的第一音頻接收設備對象。
8.根據權利要求5所述的方法,其特徵在於,還包括接收音頻接收終止命令時,通知所述客戶端停止音頻數據的發送,並斷開所述第二通道。
9.一種遠程桌面體系的音頻處理設備,其特徵在於,包括第一連接單元,用於接收到伺服器端作業系統的音頻發送請求時,向客戶端發起連接, 建立第一通道;發送單元,用於接收音頻數據,並通過所述第一通道向客戶端發送音頻數據。
10.根據權利要求9所述的音頻處理設備,其特徵在於,所述第一連接單元包括第一命令創建子單元,用於接收到伺服器端作業系統的音頻發送請求時,形成音頻播 放設備對象創建命令;第一對象創建子單元,用於根據所述音頻播放設備對象創建命令在伺服器端創建第一 音頻播放設備對象;第一連接子單元,用於根據所述第一音頻播放設備對象在伺服器端與客戶端之間建立 第一通道。
11.根據權利要求10所述的音頻處理設備,其特徵在於,所述發送單元包括第一命令發送子單元,用於通過所述第一通道向客戶端發送音頻播放設備對象創建命令;第二對象創建子單元,用於根據所述音頻播放設備對象創建命令在客戶端創建第二音 頻播放設備對象;發送子單元,用於通過伺服器端的第一音頻播放設備對象將音頻數據從伺服器端經第 一通道發送至客戶端的第二音頻播放設備對象。
12.根據權利要求9所述的音頻處理設備,其特徵在於,還包括第一控制單元,用於統計音頻數據發送參數,並將所述數據發送參數反饋給系統,以使 系統根據所述音頻數據發送參數對所述音頻數據的發送進行控制。
13.—種遠程桌面體系的音頻處理設備,其特徵在於,包括第二連接單元,用於接收到伺服器端作業系統的音頻接收命令時,向客戶端發起連接,建立第二通道;接收單元,用於通過所述第二通道接收客戶端發送的音頻數據。
14.根據權利要求13所述的音頻處理設備,其特徵在於,所述第二連接單元包括第二命令創建子單元,用於接收到伺服器端作業系統的音頻接收命令時,形成音頻接 收設備對象創建命令;第三對象創造子單元,用於根據所述音頻接收設備對象創建命令在伺服器端創建第一 音頻接收設備對象;第二連接子單元,用於根據所述第一音頻接收設備對象在伺服器端與客戶端之間建立 第二通道。
15.根據權利要求14所述的音頻處理設備,其特徵在於,所述接收單元包括 第二命令發送單元,用於通過所述第二通道向客戶端發送音頻接收設備對象創建命令;第四對象創建子單元,用於根據所述音頻接收設備對象創建命令在客戶端創建第二音 頻接收設備對象;接收子單元,通過客戶端的第二音頻接收設備對象接收音頻數據,並將接收的音頻數 據通過第二通道發送至伺服器端的第一音頻接收設備對象。
16.根據權利要求13所述的音頻處理設備,其特徵在於,還包括 第二控制單元,用於接收到音頻接收終止命令時,通知所述客戶端停止音頻數據的發 送,並斷開所述第二通道。
全文摘要
本發明實施例公開了一種遠程桌面體系的音頻處理方法和設備。其中,所述方法包括接收到伺服器端作業系統的音頻發送請求時,向客戶端發起連接,建立專用通道;接收音頻數據,並通過所述專用通道向客戶端發送音頻數據。本發明實施例所提供的方案,在接收到系統的音頻發送請求後,向客戶端發起連接,建立一條發送音頻數據的專用通道並通過這個專用通道向客戶端發送音頻數據。
文檔編號H04L29/08GK102148842SQ20101010944
公開日2011年8月10日 申請日期2010年2月8日 優先權日2010年2月8日
發明者孫成昆, 高棧年 申請人:聯想(北京)有限公司