專利名稱:網(wǎng)絡(luò)混音方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)多媒體娛樂方法,具體涉及一種網(wǎng)絡(luò)混音方法。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展,用戶對網(wǎng)絡(luò)多媒體娛樂的需求越來越強烈。傳統(tǒng)的娛樂方式如卡拉0K,費用較高,同時參與人數(shù)有限,很難滿足大眾的需求。雖然大部分的網(wǎng)絡(luò)娛樂軟件提供網(wǎng)絡(luò)卡拉OK功能,但是由于在WINDOWS平臺,微軟沒有制定統(tǒng)一的聲卡驅(qū)動規(guī)范,某些特定的聲卡打開卡拉OK功能的接口很晦澀;而部分集成HD聲卡根本不支持卡拉OK功能, 因此現(xiàn)有的多人語音軟件支持卡拉OK功能很不完善。需要用戶手動選擇硬件混音進行卡拉OK和軟件混音進行卡拉0K,在硬件不支持的情況下無法完成卡拉OK功能。對于部分語音娛樂軟件,軟混音的播放器軟件是語音軟件內(nèi)置,不支持主流播放器比如酷狗、QQ音樂等播放器軟件,不能滿足用戶的需求。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)混音方法,它可以用各種類型的聲卡實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。為解決上述技術(shù)問題,本發(fā)明網(wǎng)絡(luò)混音方法的技術(shù)解決方案為,包括以下步驟步驟1,調(diào)用系統(tǒng)API函數(shù),分析聲卡的特征,檢查聲卡的輸入選項中是否有立體聲混音或者相似功能選項;步驟2,將伴奏與人聲進行混音,對于有立體聲混音選項的聲卡,采用硬件混音方法;對于無立體聲混音選項的聲卡,采用軟件混音方法。采用的硬件混音方法是第一步,設(shè)置聲卡,進入硬件混音模式;第二步,混音操作;啟動系統(tǒng)媒體播放器軟件;聲卡同時采集來自于麥克風的音頻數(shù)據(jù),以及來自于系統(tǒng)媒體播放器的音頻數(shù)據(jù);聲卡將來自于麥克風的音頻數(shù)據(jù)和系統(tǒng)媒體播放器的音頻數(shù)據(jù)進行混音處理,傳送給Talk Client語音軟件,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。采用的軟件混音方法是第一步,分析用戶系統(tǒng)的注冊表,找出用戶的默認播放器軟件;第二步,啟動默認播放器軟件,同時在默認播放器軟件進程加載HOOK DLL ;HOOK DLL對默認播放器軟件調(diào)用的系統(tǒng)API函數(shù)進行跟蹤,獲取播放器軟件播放的PCM音頻數(shù)據(jù),并通過進程間通訊傳送給Talk Client語音軟件;同時,聲卡采集來自于麥克風的音頻數(shù)據(jù),并傳送給Talk Client語音軟件;TalkClient語音軟件獲取播放器軟件的音頻數(shù)據(jù)并進行數(shù)據(jù)處理;Talk Client語音軟件將經(jīng)處理的播放器軟件的音頻數(shù)據(jù)與來自于麥克風的音頻數(shù)據(jù)進行混音處理,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。Talk Client語音軟件對播放器軟件的音頻數(shù)據(jù)進行數(shù)據(jù)處理的方法是對于播放器的PCM音頻數(shù)據(jù)與用戶的采樣率不同的情況,進行重采樣;或者調(diào)整聲道數(shù)。本發(fā)明可以達到的技術(shù)效果是本發(fā)明針對不同的聲卡采用不同的混音方法,可適用于各種類型的聲卡,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能,以滿足用戶任何苛刻的需求。
下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明圖1是支持卡拉OK功能的聲卡調(diào)節(jié)選項卡的示意圖;圖2是不支持卡拉OK功能的聲卡調(diào)節(jié)選項卡的示意圖;圖3是采用硬件混音方法進行卡拉OK的流程圖;圖4是采用軟件混音方法進行卡拉OK的流程圖。
具體實施例方式本發(fā)明網(wǎng)絡(luò)混音方法,包括以下步驟步驟1,調(diào)用系統(tǒng)API (Application Programming hterface,應(yīng)用程序編程接口) 函數(shù),分析聲卡的特征,檢查聲卡的輸入選項中是否有立體聲混音或者相似功能選項;即將聲卡分為兩種,一種為有立體聲混音選項的聲卡,該類聲卡支持卡拉OK功能,另一種為無立體聲混音選項的聲卡,該類聲卡不支持卡拉OK功能或者支持卡拉OK功能有缺陷;聲卡的輸入端有各種輸入模式,根據(jù)特征碼分析,有特征碼的聲卡就支持硬件混
曰;步驟2,將伴奏與人聲進行混音,對于有立體聲混音選項的聲卡,采用硬件混音方法;對于無立體聲混音選項的聲卡,采用軟件混音方法。(1)對于有立體聲混音選項的聲卡,該聲卡具備重采樣、調(diào)整采樣位、聲道轉(zhuǎn)換、立體聲混音的功能,設(shè)置聲卡,進入硬件混音模式;設(shè)置聲卡的方法如圖1所示,選擇麥克風音量控制,關(guān)閉麥克風靜音功能,即使用聲卡的立體聲混音功能,進入卡拉OK模式;混音操作如圖3所示,啟動系統(tǒng)媒體播放器軟件;聲卡同時采集來自于麥克風的音頻數(shù)據(jù) (人聲),以及來自于系統(tǒng)媒體播放器的音頻數(shù)據(jù)(伴奏);聲卡將來自于麥克風的音頻數(shù)據(jù)和系統(tǒng)媒體播放器的音頻數(shù)據(jù)進行混音處理,傳送給TalkClient語音軟件,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。(2)對于無立體聲混音選項的聲卡,該聲卡的調(diào)節(jié)選項卡如圖2所示,無硬件混音模式,分析用戶系統(tǒng)的注冊表,找出用戶的默認播放器軟件;啟動默認播放器軟件,同時在默認播放器軟件進程加載HOOK DLL (鉤子動態(tài)庫);H00KDLL對默認播放器軟件調(diào)用的系統(tǒng) API函數(shù)進行跟蹤,獲取播放器軟件播放的PCM(Pulse Code Modulation,脈碼調(diào)制錄音) 音頻數(shù)據(jù),并通過進程間通訊傳送給iTalk Client語音軟件;Talk Client語音軟件具備重采樣、調(diào)整采樣位、聲道轉(zhuǎn)換、立體聲混音的功能,Talk Client語音軟件為現(xiàn)有技術(shù),在此不做贅述;
4
與此同時,聲卡采集來自于麥克風的音頻數(shù)據(jù),并傳送給Talk Client語音軟件;Talk Client語音軟件獲取數(shù)據(jù)并進行數(shù)據(jù)處理,如果播放器的PCM音頻數(shù)據(jù)與用戶的采樣率不同則進行重采樣,也可以調(diào)整聲道數(shù);Talk Client語音軟件將經(jīng)處理的音頻數(shù)據(jù)與來自于麥克風的音頻數(shù)據(jù)進行混音處理,最后進行編碼發(fā)送出去,實現(xiàn)網(wǎng)絡(luò)卡拉 OK功能,如圖4所示。采用本發(fā)明實現(xiàn)網(wǎng)絡(luò)卡拉OK功能的實施例如下用戶A的聲卡有立體聲混音選項,支持硬件混音,如圖1所示,在聲卡調(diào)節(jié)選項卡的輸出部分,有立體聲混音選項(根據(jù)聲卡不同,可以用其他的名詞比如您聽到的聲音等等);用戶A點擊卡拉OK按鈕,程序通過調(diào)用系統(tǒng)API函數(shù)選中立體聲混音,啟動播放器軟件;播放器軟件的聲音和用戶麥克風的聲音都被Talk Client語音軟件采集后,進行編碼發(fā)送到接收方,進行卡拉0K。用戶B的聲卡無立體聲混音選項,不支持硬件混音,如圖2所示,在聲卡調(diào)節(jié)選項卡的輸出部分,無立體聲混音選項(根據(jù)聲卡不同,可以用其他的名詞比如您聽到的聲音等等);用戶B點擊卡拉OK按鈕,Talk Client語音軟件啟動播放器,在啟動播放器的同時加載Hook DLL獲取播放器的PCM音頻數(shù)據(jù);TalkClient語音軟件獲取到播放器的PCM音頻數(shù)據(jù)后和麥克風的數(shù)據(jù)進行混音處理,實現(xiàn)卡拉OK功能。
權(quán)利要求
1.一種網(wǎng)絡(luò)混音方法,其特征在于,包括以下步驟步驟1,調(diào)用系統(tǒng)API函數(shù),分析聲卡的特征,檢查聲卡的輸入選項中是否有立體聲混音選項;步驟2,將伴奏與人聲進行混音,對于有立體聲混音選項的聲卡,采用硬件混音方法; 對于無立體聲混音選項的聲卡,采用軟件混音方法。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)混音方法,其特征在于所述步驟2采用的硬件混音方法是第一步,設(shè)置聲卡,進入硬件混音模式;第二步,混音操作;啟動系統(tǒng)媒體播放器軟件;聲卡同時采集來自于麥克風的音頻數(shù)據(jù),以及來自于系統(tǒng)媒體播放器的音頻數(shù)據(jù);聲卡將來自于麥克風的音頻數(shù)據(jù)和系統(tǒng)媒體播放器的音頻數(shù)據(jù)進行混音處理,傳送給Talk Client語音軟件,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)混音方法,其特征在于所述步驟2采用的軟件混音方法是第一步,分析用戶系統(tǒng)的注冊表,找出用戶的默認播放器軟件;第二步,啟動默認播放器軟件,同時在默認播放器軟件進程加載HOOK DLL ;HOOK DLL對默認播放器軟件調(diào)用的系統(tǒng)API函數(shù)進行跟蹤,獲取播放器軟件播放的PCM音頻數(shù)據(jù),并通過進程間通訊傳送給Talk Client語音軟件;同時,聲卡采集來自于麥克風的音頻數(shù)據(jù),并傳送給Talk Client語音軟件;TalkClient語音軟件獲取播放器軟件的音頻數(shù)據(jù)并進行數(shù)據(jù)處理;Talk Client語音軟件將經(jīng)處理的播放器軟件的音頻數(shù)據(jù)與來自于麥克風的音頻數(shù)據(jù)進行混音處理,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能。
4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)混音方法,其特征在于所述第二步TalkClient語音軟件對播放器軟件的音頻數(shù)據(jù)進行數(shù)據(jù)處理的方法是對于播放器的PCM音頻數(shù)據(jù)與用戶的采樣率不同的情況,進行重采樣;或者調(diào)整聲道數(shù)。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)混音方法,包括以下步驟步驟1,調(diào)用系統(tǒng)API函數(shù),分析聲卡的特征,檢查聲卡的輸入選項中是否有立體聲混音選項;步驟2,將伴奏與人聲進行混音,對于有立體聲混音選項的聲卡,采用硬件混音方法;對于無立體聲混音選項的聲卡,采用軟件混音方法。本發(fā)明針對不同的聲卡采用不同的混音方法,可適用于各種類型的聲卡,實現(xiàn)網(wǎng)絡(luò)卡拉OK功能,以滿足用戶任何苛刻的需求。
文檔編號G10H1/36GK102467909SQ201010548840
公開日2012年5月23日 申請日期2010年11月18日 優(yōu)先權(quán)日2010年11月18日
發(fā)明者孫輝 申請人:盛樂信息技術(shù)(上海)有限公司