起,防止多個應用程序的音頻同時播出時聲音刺耳且難以聽清。進行混音處理時,可將原始音頻數據的頻率、音質等單獨進行調整,使音軌最佳化,最后疊加在一起。
[0063]在一個實施例中,還可包括壓縮模塊,用于對混音處理之后的音頻數據進行音頻壓縮處理,再將壓縮后的音頻數據與第一位置參數進行關聯。
[0064]當共享區(qū)域為受控終端的全部區(qū)域時,第一發(fā)送模塊20可包括:
[0065]檢測單元204,用于檢測整個受控終端的音頻數據;
[0066]第三關聯單元205,用于將整個受控終端的音頻數據與帶標識位的默認值進行關聯;其中,所述帶標志位的默認值用于判斷共享區(qū)域為受控終端的部分區(qū)域或受控終端的全部區(qū)域;
[0067]第二發(fā)送單元206,用于將所述關聯結果發(fā)送到控制終端。
[0068]整個受控終端的音頻數據可理解為用戶能夠聽到的受控終端發(fā)出的全部聲音,SP當前所有打開的應用程序的聲音及系統聲音。
[0069]當共享區(qū)域為受控終端的全部區(qū)域時,第三關聯單元205可產生帶標識位的默認值,該標志位用于判別區(qū)域共享或整個操作系統共享,例如,可另所述帶標識位的默認值為isAllShare。當isAllShare = true時,表示共享區(qū)域為受控終端的全部區(qū)域;當isAllShare= false時,表示共享區(qū)域為受控終端的部分區(qū)域。
[0070]接收模塊30,用于將控制終端接收到的音頻數據和視頻數據呈現給用戶,并在控制終端接收用戶根據所述音頻數據和視頻數據對受控終端發(fā)送的第一控制指令;
[0071 ]控制終端可將接收到的音頻數據和視頻數據呈現給用戶,并通過接收模塊30接收用戶對所述音頻數據和視頻數據發(fā)送的第一控制指令。例如,當控制終端是電腦時,所述第一控制指令可以是鼠標操作指令或鍵盤操作指令,如:點擊鼠標或鍵盤數據輸入等操作。當控制終端是手機或平板電腦時,所述第一控制指令可以是用戶的手勢操作。可將所述第一控制指令與第三位置信息相關聯,并將關聯后的第一位置信息發(fā)送到受控終端。其中,所述第三位置信息用于表示所述第一控制指令作用的位置。通過這種方式,可使受控終端準確地獲取到第一控制指令的作用位置,從而準確地對受控終端的相應位置進行控制。
[0072]在一個實施例中,在將所述第一控制指令從控制終端發(fā)送到受控終端之前,還可通過同步模塊在受控終端對所述音頻數據、視頻數據和第一控制指令進行同步處理。同步的實現可根據截取音視頻的時間戳來判定,即相同時間戳視為同步。
[0073]第二發(fā)送模塊40,用于將所述第一控制指令從控制終端發(fā)送到受控終端,并由受控終端將所述第一控制指令轉換為受控終端可識別的第二控制指令,對受控終端的音頻數據和視頻數據進行控制;
[0074]第三發(fā)送模塊50,用于將控制結果從受控終端發(fā)送到控制終端,由控制終端將控制結果呈現給用戶。
[0075]在受控終端,可對接收到的音頻數據、視頻數據和第一控制指令進行相應的處理。例如,當控制終端對音頻數據或視頻數據進行了編碼壓縮處理,受控終端可進行相應的解碼處理。受控終端還可根據相關的操作轉換協議,將所述第一控制指令轉換為受控終端可識別的第二控制指令,對受控終端的音頻數據和視頻數據進行控制,并可將控制結果從受控終端發(fā)送到控制終端,由控制終端將控制結果呈現給用戶。
[0076]在一個實施例中,以控制終端為移動終端,受控終端為PC(Personal Computer,個人電腦)端為例,為了方便介紹,將該技術方案分為PC端和移動端兩個部分:
[0077]PC端一方面用于獲取普通PC機桌面視頻及相關音頻數據編碼通過網絡發(fā)送給移動端,另一方面用于接收移動端的視頻數據解碼顯示,并且通過獲取當前鼠標操作信息,發(fā)送相關的控制信息給移動端;
[0078]同樣,移動端一方面用于接收到移動端的視頻數據后解碼顯示,通過獲取當前用戶的手勢操作信息發(fā)送相關的控制信息給PC端;另一方面用于獲取移動端的視頻數據信息發(fā)送給PC端。
[0079]根據上述對PC端及移動端的功能介紹,可將PC端及移動端的軟件架構劃分為兩個方面:桌面視頻顯示模塊及桌面視頻發(fā)送模塊。桌面視頻發(fā)送模塊的處理框架如圖3所示。
[0080]音頻檢測模塊:在只需要共享系統的某個區(qū)域時,音頻檢測主要是用于獲取一個或多個應用程序名與系統音量合成管理器中各聲道分量名稱配對,最終得到匹配結果(哪些共享區(qū)域的哪些程序窗口有播放音頻),并將匹配結果和位置參數分別送到音頻抓取模塊、配對決策模塊。在需要共享整個操作系統時,音頻檢測模塊輸出帶標志位的默認值。[0081 ]音頻抓取模塊:如果音頻檢測模塊有匹配結果和位置參數的輸出,則根據音頻檢測配對結果,抓取有聲音播放窗口的音頻數據后,送入混音模塊。如果音頻檢測模塊輸出的為帶標志位的默認值,則會抓取整個系統的輸出音量,直接發(fā)送到音頻壓縮模塊。
[0082]操作檢測模塊:用于檢測當前用戶的操作(如鼠標操作、鍵盤輸入等),并將輸出結果發(fā)送到配對決策模塊。
[0083]桌面截屏模塊,在抓取整個桌面視頻圖像后,送到視頻壓縮模塊。
[0084]混音模塊,對每個共享區(qū)域中超過1個窗口播放的音頻數據進行混音處理得到共享區(qū)域播放的聲音,然后送到音頻壓縮模塊。
[0085]音頻壓縮模塊,對一組或多組音頻數據進行編碼壓縮處理后,送到配對決策模塊。
[0086]視頻壓縮模塊,對桌面視頻圖像進行壓縮,壓縮后的桌面視頻數據送到配對決策模塊。
[0087]配對決策模塊:
[0088]依據音頻檢測匹配結果對每個共享區(qū)域是否存在音頻播放,在區(qū)域位置參數增加音頻標志位進行標識(存在則標識,不存在則為空),形成區(qū)域音頻/位置參數集;
[0089]將每組共享區(qū)域播放的音頻數據與對應的區(qū)域音頻/位置參數集綁定后,依據目標用戶觀看對象(共享區(qū)域)的不同,通過網絡收發(fā)模塊發(fā)送一組或多組音頻參數集數據;
[0090]根據操作檢測給出的參數(如鼠標坐標參數、鍵盤數據輸入),在區(qū)域位置參數增加操作標示符及操作參數,形成區(qū)域操作/位置參數集。
[0091]將依據目標用戶觀看對象(共享區(qū)域)的不同,將桌面視頻編碼數據與一個或多個的位置綁定,形成區(qū)域視頻/位置參數集,通過網絡收發(fā)模塊發(fā)送。
[0092]桌面視頻顯示模塊主要負責接收網絡傳輸過來的視頻數據,最終顯示在應用程序的圖像顯示區(qū)域:
[0093]圖4給出了桌面視頻顯示模塊的框架:
[0094]網絡收發(fā)模塊:接收網絡傳輸過來的視頻數據,并輸出到類型解析模塊進行處理;同時負責傳輸控制轉換模塊輸出的數據。
[0095]類型解析模塊:對網絡數據包進行解析,若是視頻/位置區(qū)域的參數集數據,送至視頻解碼模塊;若是音頻/位置區(qū)域參數集數據,送至音頻解碼模塊;若是操作/位置區(qū)域參數集數據,則送到操作解析模塊解析處理。
[0096]視頻解碼模塊:對視頻編碼數據解碼得到視頻數據,然后將視頻數據送至控制與視頻配對模塊。
[0097]音頻解碼模塊:對音頻編碼數據解碼得到音頻數據,送至控制與音視頻配對模塊
[0098]操作解析:負責解析操作命令并轉化成相應的本機操作指令送至控制與音視頻配對豐吳塊。
[0099]控制與音視頻配對模塊:根據前面子模塊輸出的數據信息,對音頻、視頻以及操作指令進行同步匹配處理,送往桌面顯示模塊。
[0100]桌面顯示模塊:根據用戶選擇的播放目標,播放相應的目標音視頻。并且負責獲取用戶的鼠標或手勢操作指令參數(如單擊、雙擊等)。<...