專利名稱:一種確定設(shè)備對(duì)象的方法與裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種確定設(shè)備對(duì)象的方法與裝置。
背景技術(shù):
回音消除是利用計(jì)算機(jī)記錄或傳輸語音數(shù)據(jù)亟需解決的 一個(gè)問題。當(dāng)計(jì) 算機(jī)中安裝了兩個(gè)以上的音頻設(shè)備時(shí),通過某 一 音頻設(shè)備傳出的語音數(shù)據(jù)可 能會(huì)通過另一音頻設(shè)備傳回來,從而引起回音。例如,曱和乙撥打網(wǎng)絡(luò)電話, 曱的說話聲傳到乙處并通過乙的音箱播放后,若被乙的麥克風(fēng)采集,并由乙 處傳至甲處,則曱就會(huì)感覺到回音。
消除回音的方法之一是,確定計(jì)算機(jī)中當(dāng)前正在工作的音頻設(shè)備對(duì)象, 對(duì)特定音頻設(shè)備對(duì)象的數(shù)據(jù)包進(jìn)行攔截。仍以曱和乙撥打網(wǎng)絡(luò)電話為例,若 乙通過麥克風(fēng)與曱通話的同時(shí),通過音箱播放曱處傳來的聲音,則可對(duì)乙處 音箱播放的聲音進(jìn)行攔截,乙處麥克風(fēng)在采集語音數(shù)據(jù)時(shí),根據(jù)攔截到的語 音數(shù)據(jù),從采集到的語音數(shù)據(jù)中去掉音箱播放的聲音,進(jìn)而消除回音??梢?, 采用這種方法消除回音時(shí),需要確定當(dāng)前正在工作的音頻設(shè)備對(duì)象。
計(jì)算機(jī)中安裝的多個(gè)音頻設(shè)備中,有一些是系統(tǒng)默認(rèn)工作的,通常,計(jì) 算機(jī)啟動(dòng)后,當(dāng)前正在工作的音頻設(shè)備即為這些默認(rèn)工作的音頻設(shè)備。每個(gè) 安裝到計(jì)算機(jī)上的音頻設(shè)備,可以在計(jì)算機(jī)中映射得到一個(gè)設(shè)備對(duì)象,也可 得到多個(gè)設(shè)備對(duì)象,但這些設(shè)備對(duì)象中只能有一個(gè)是系統(tǒng)默認(rèn)工作的。
計(jì)算機(jī)中的設(shè)備管理器中包含該計(jì)算機(jī)中安裝的所有設(shè)備的信息,這些
信息可用來確定設(shè)備對(duì)象?,F(xiàn)有技術(shù)中,即通過設(shè)備管理器中的音頻設(shè)備信 息確定需要對(duì)其語音數(shù)據(jù)進(jìn)行攔截的音頻設(shè)備對(duì)象,然后由驅(qū)動(dòng)程序?qū)@些 設(shè)備對(duì)象進(jìn)行處理。設(shè)備管理器所包含的設(shè)備信息對(duì)設(shè)備對(duì)象的描述較為粗糙,例如,這些 信息不能標(biāo)識(shí)哪些設(shè)備對(duì)象是系統(tǒng)默認(rèn)工作的。因此,通過設(shè)備管理器確定 音頻設(shè)備對(duì)象以消除回音時(shí),或者需要根據(jù)預(yù)先確定的音頻設(shè)備對(duì)象的特征 信息,從設(shè)備管理器所顯示的各種音頻設(shè)備對(duì)象中,確定具備所述特征信息的音頻設(shè)備對(duì)象,從而對(duì)確定的音頻設(shè)備對(duì)象進(jìn)行語音數(shù)據(jù)攔截;或者需要 遍歷查詢?cè)O(shè)備管理器中所顯示的各種音頻設(shè)備對(duì)象,對(duì)每一設(shè)備對(duì)象均進(jìn)行 相關(guān)處理,以確定需要對(duì)其進(jìn)行語音數(shù)據(jù)攔截的音頻設(shè)備對(duì)象。其中,前一 可選方法的靈活性較差,只能消除預(yù)先確定的音頻設(shè)備產(chǎn)生的回音;后一可 選方法增加了驅(qū)動(dòng)的復(fù)雜度。眾所周知,計(jì)算機(jī)中的資源包括用戶態(tài)(usermode)下的資源和核心態(tài) (kernalmode )下的資源,其中,kernalmode下的資源比usermode下的資源 具有更高的優(yōu)先級(jí),也要求更高的穩(wěn)定性。驅(qū)動(dòng)程序占用的就是kernalmode 下的資源。當(dāng)使用所述后一可選方法時(shí),由于驅(qū)動(dòng)程序需要對(duì)設(shè)備管理器中 所顯示的所有音頻設(shè)備對(duì)象均進(jìn)行相關(guān)處理,因此增加驅(qū)動(dòng)程序的復(fù)雜性, 使得驅(qū)動(dòng)程序的穩(wěn)定性降低,而且由于占用的kernalmode資源較多,也降 低了計(jì)算機(jī)系統(tǒng)的穩(wěn)定性。可見,由于設(shè)備管理器中的設(shè)備信息對(duì)設(shè)備對(duì)象的描述不夠詳細(xì),因此 確定設(shè)備對(duì)象的準(zhǔn)確性較差,這樣,當(dāng)需要對(duì)確定的設(shè)備對(duì)象進(jìn)行相關(guān)處理 時(shí),就會(huì)可能引起諸如上述的不足。例如,若計(jì)算機(jī)中安裝了兩個(gè)以上的音 頻設(shè)備、或一個(gè)音頻設(shè)備具有兩個(gè)以上的音頻設(shè)備對(duì)象,則利用設(shè)備管理器 中的設(shè)備信息雖然能夠確定該計(jì)算機(jī)中的音頻設(shè)備對(duì)象,但是并不能確定這 些音頻設(shè)備對(duì)象中哪些是系統(tǒng)默認(rèn)工作的,因此,在需要消除回音時(shí),或者 只能消除預(yù)先確定的音頻設(shè)備產(chǎn)生的回音,或者增加了驅(qū)動(dòng)的復(fù)雜度。發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在于提供一種確定設(shè)備對(duì)象的方法與裝置,以 提高確定設(shè)備對(duì)象的準(zhǔn)確性。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的 一種確定設(shè)備對(duì)象的方法,該方法包括步驟以待確定設(shè)備對(duì)象在計(jì)算機(jī)中的注冊(cè)表中區(qū)別于其它設(shè)備的特性為搜索 條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,根據(jù)所述 symbliclink確定設(shè)備對(duì)象。一種確定設(shè)備對(duì)象的裝置,該裝置包括搜索單元和確定單元; 所述搜索單元用于,以待確定設(shè)備對(duì)象在計(jì)算機(jī)中的注冊(cè)表中區(qū)別于其它 設(shè)備的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí) symbliclink,將搜索到的symbliclink發(fā)給所述確定單元;所述確定單元用于,根據(jù)所述搜索單元發(fā)來的symbliclink確定設(shè)備對(duì)象。 可見,由于與設(shè)備管理器中的設(shè)備信息相比,注冊(cè)表中的設(shè)備信息對(duì)設(shè)備 對(duì)象做了較為詳細(xì)的描述,因此,當(dāng)以待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其它 設(shè)備對(duì)象的特性作為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo) 識(shí)symbliclink,根據(jù)所述symbliclink確定設(shè)備對(duì)象時(shí),可提高確定設(shè)備對(duì)象的準(zhǔn) 確性。
圖1是本發(fā)明方法實(shí)施例提出的確定具有directsound關(guān)鍵字的 friendlyname的方法流程圖;圖2是本發(fā)明方法實(shí)施例提供的在含有directsound關(guān)鍵字的 friendlyname 4建的鍵值中查詢symbliclink的方法流程圖;圖3是本發(fā)明裝置實(shí)施例提供的確定設(shè)備對(duì)象的裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
本發(fā)明的發(fā)明人注意到與計(jì)算機(jī)中的設(shè)備管理器中的設(shè)備信息相比, 計(jì)算機(jī)中的注冊(cè)表中的設(shè)備信息對(duì)設(shè)備對(duì)象做了較為詳細(xì)的描述,因此,提出以待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象的特性作為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)(symbliclink),根據(jù)所述 symbliclink確定設(shè)備對(duì)象。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉 實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
下面以確定系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象為例,對(duì)本發(fā)明進(jìn)行示例性說明。
每個(gè)設(shè)備都有各自的廠商標(biāo)識(shí)friendlyname,在采用Windows操作系統(tǒng) 的計(jì)算機(jī)中安裝音頻設(shè)備時(shí),在安裝的注冊(cè)過程中,系統(tǒng)會(huì)在注冊(cè)表中用這 一 friendlyname作為一個(gè)鍵來標(biāo)識(shí)該設(shè)備的設(shè)備對(duì)象,這個(gè)鍵的4建值中可以 存儲(chǔ)有所述設(shè)備對(duì)象的symbliclink,根據(jù)該symbliclink就可以找到所述設(shè) 備對(duì)象,此外,系統(tǒng)還會(huì)在注冊(cè)表中自動(dòng)為默認(rèn)工作的音頻設(shè)備對(duì)象打上 directsound的關(guān)鍵字。因此,只要在注冊(cè)表中搜索含有directsound關(guān)鍵字的 friendlyname鍵,在所述鍵的鍵值中找到symbliclink,即可確定系統(tǒng)默認(rèn)工 作的音頻設(shè)備對(duì)象。
下面給出確定具有directsound關(guān)4定字的friendlyname的方法,以及在含 有directsound關(guān)4建字的friendlyname 4建的鍵:值中查詢symbliclink的方法。
在Windows操作系統(tǒng)下,常用的DSHOW方法來搜索具有directsound 關(guān)4建字的friendlyname,具體來講,就是先獲得枚舉音頻i殳備friendlyname 的CLSID—AudioRendererCategory枚舉器的接口,查詢?cè)撁杜e器枚舉的每一 音頻設(shè)備對(duì)象的friendlyname中是否含有dierctsound關(guān)鍵字,即可確定具有 directsound關(guān)4建字的friendlyname,下面結(jié)合圖1具體i兌明該方法。
圖1是本發(fā)明方法實(shí)施例提出的確定具有directsound關(guān)鍵字的 friendlyname的方法流程圖,如圖1所示,該方法具體包括如下步驟
步驟101,獲得CLSID_AudioRendererCategory枚舉器的接口。 CLSID—AudioRendererCategory枚舉器是采用Windows操作系統(tǒng)的計(jì)算機(jī) 枚舉音頻設(shè)備的設(shè)備對(duì)象的枚舉器,可通過DSHOW方法獲得該枚舉器的接 口。如何利用DSHOW方法獲得該枚舉器的接口屬于現(xiàn)有技術(shù)。步驟102,利用CLSID—AudioRendererCategory枚舉器對(duì)該計(jì)算機(jī)中安 裝的音頻設(shè)備對(duì)象進(jìn)行枚舉,得到音頻設(shè)備對(duì)象的friendlyname,枚舉的具 體方法屬于現(xiàn)有技術(shù)。通過本步驟,可獲得計(jì)算機(jī)中安裝的所有音頻設(shè)備對(duì)象(包括系統(tǒng)默認(rèn) 工作的音頻設(shè)備對(duì)象和非系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象)的friendlyname。步驟103,判斷具有該friendlyname的音頻設(shè)備對(duì)象的信息中是否包含 directsound關(guān)鍵字,若是,則執(zhí)行步驟104,否則執(zhí)行步驟105。步驟104,提取包含directsound關(guān)鍵字的設(shè)備對(duì)象的friendlyname。這 一 friendlyname可用于進(jìn)一步獲得設(shè)備對(duì)象的symbliclink,所述symbliclink 用于確定所述設(shè)備對(duì)象。包含directsound關(guān)鍵字的設(shè)備對(duì)象即為系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象。 因此,通過本步驟,可獲得計(jì)算機(jī)中當(dāng)前系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象。通 常,計(jì)算機(jī)中當(dāng)前正在工作的音頻設(shè)備對(duì)象即為系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象。步驟105,判斷枚舉是否完成,若是,則結(jié)束本流程,否則執(zhí)行步驟106。 步驟106,利用CLSID—AudioRendererCategory枚舉器枚舉下一個(gè)音頻 設(shè)備對(duì)象。通過圖1所示方法,可以找到所有具有directsound關(guān)鍵字的音頻設(shè)備 對(duì)象的friendlyname,即可以找到系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象的所有 friendlyname 。確定了含有directsound關(guān)鍵字的friendlyname后,即可在注冊(cè)表中的音 頻設(shè)備目錄下,查詢每一含有directsound關(guān)鍵字的friendlyname鍵的鍵值, 提取鍵值中所包含的symbliclink。在 Windows 操作系統(tǒng)下,所述音頻設(shè)備目錄為 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ (65E8773E-8F56-11D0-A3B9-00A0C9223196)項(xiàng),這一項(xiàng)記錄的是音箱、耳 機(jī)等播放語音數(shù)據(jù)的音頻設(shè)備的設(shè)備對(duì)象。圖2是本發(fā)明方法實(shí)施例提供的在含有directsound關(guān)鍵字的 friendlyname 4建的鍵值中查詢symbliclink的方法流程圖。圖2采用了遞歸方法查詢鍵值,如圖2所示,該方法具體包括如下步驟步驟201,在HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ {65E8773E-8F56-11D0-A3B9-00A0C9223196}項(xiàng)中查詢是否包含 friendlyname鍵,若是則執(zhí)行步驟204,否則執(zhí)行步驟202。所述friendlyname 即為包含directsound關(guān)4建字的friendlyname。步驟202,查詢所有子鍵。步驟203,查詢是否有friendlyname子鍵,若是則執(zhí)行步驟204,否則 執(zhí)行步驟207。步驟204,查詢?cè)撴I的鍵值。步驟205,判斷鍵值中是否包含symbliclink,若是則執(zhí)行步驟206,否 則執(zhí)行步驟207。步驟206,返回查找到的symbliclink。查找到symbliclink,可將該symbliclink保存至約定的存儲(chǔ)空間中,例 如,保存至與驅(qū)動(dòng)程序約定的存儲(chǔ)空間中,這樣,驅(qū)動(dòng)程序從該約定存儲(chǔ)空 間中即可讀取該symbliclink,根據(jù)該symbliclink確定設(shè)備對(duì)象。步驟207,判斷是否所有包含directsound關(guān)鍵字的friendlyname均已查 詢完畢,若是則結(jié)束本流程,否則轉(zhuǎn)至步驟208。步驟208,確定下一需要查詢的friendlyname,轉(zhuǎn)至步驟201。通過圖2所示的方法,可在含有directsound關(guān)鍵字的friendlyname 4建的 鍵值中查詢到該設(shè)備對(duì)象的symbliclink,由于根據(jù)設(shè)備對(duì)象的symbliclink 即可確定設(shè)備對(duì)象,因而,通過圖2的方法,可確定系統(tǒng)默認(rèn)工作的音頻設(shè) 備對(duì)象。由于系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象通常即為正在工作的音頻設(shè)備對(duì)象, 在確定了系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象后,即可針對(duì)該音頻設(shè)備對(duì)象消除回 音,其具體方法為攔截該音頻設(shè)備對(duì)象播放的語音數(shù)據(jù),從采集的語音數(shù)據(jù)中去除攔截到的語音數(shù)據(jù)。
例如,通過圖l和圖2搜索到系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象后,甲和乙 撥打網(wǎng)絡(luò)電話,在乙通過麥克風(fēng)與甲通話的同時(shí),通過系統(tǒng)默認(rèn)工作的音箱 這一音頻設(shè)備播放曱處傳來的聲音,在這一場(chǎng)景中,乙的麥克風(fēng)攔截所述設(shè) 備對(duì)象播放的語音數(shù)據(jù),并從該麥克風(fēng)采集的語音數(shù)據(jù)中去除攔截到的語音 數(shù)據(jù),則可消除回音,使曱感覺不到回音。
采用圖1和圖2所示方法確定音頻設(shè)備對(duì)象時(shí),根據(jù)音頻設(shè)備在安裝和 注冊(cè)時(shí),系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象會(huì)被自動(dòng)打上directsound關(guān)鍵字這 一特性,首先使用DSHOW方法獲得系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象的 friendlyname, 然后以friendlyname作為查詢條件,在deviceclass的Render 子項(xiàng)、 即 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ {65E8773E-8F56-11D0-A3B9-00A0C9223196}項(xiàng)中使用遞歸的方法獲得音頻 設(shè)備對(duì)象的symblicLink。驅(qū)動(dòng)程序根據(jù)所述symblicLink即可確定設(shè)備對(duì)象。
由于本發(fā)明在確定設(shè)備對(duì)象時(shí),利用的是注冊(cè)表中的設(shè)備信息,而注冊(cè) 表中的設(shè)備信息與設(shè)備管理器中的設(shè)備信息相比,對(duì)設(shè)備對(duì)象的描述更加詳 細(xì),因而可提高確定設(shè)備的準(zhǔn)確性。
例如,根據(jù)音頻設(shè)備在安裝和注冊(cè)時(shí)的特性,利用音頻設(shè)備在注冊(cè)表中 的設(shè)備信息確定音頻設(shè)備時(shí),不僅可以確定系統(tǒng)中的所有音頻設(shè)備對(duì)象,而 且可以進(jìn)一 步地確定系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象,從而提高了確定設(shè)備對(duì) 象的準(zhǔn)確性。
當(dāng)確定出的是系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象,而非所有的音頻設(shè)備對(duì)象 時(shí),由于減少了設(shè)備對(duì)象的數(shù)量,因此可降低驅(qū)動(dòng)程序的復(fù)雜度,進(jìn)而提高 驅(qū)動(dòng)程序的穩(wěn)定性。
當(dāng)采用遞歸的方法查詢注冊(cè)表時(shí),還可使得查詢代碼得以簡(jiǎn)化。 以上以確定系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象為例,說明了利用待確定設(shè)備 在注冊(cè)表中區(qū)別于其他設(shè)備的特性確定設(shè)備對(duì)象的方法,實(shí)際應(yīng)用中,只要 找出待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其他設(shè)備對(duì)象的特性,則無論待確定設(shè)備對(duì)象是否為音頻設(shè)備對(duì)象,均可利用本發(fā)明確定設(shè)備對(duì)象。根據(jù)確定設(shè)備對(duì)象的方法實(shí)施例,下面給出確定設(shè)備對(duì)象的裝置實(shí)施例。圖3是本發(fā)明裝置實(shí)施例提供的確定設(shè)備對(duì)象的裝置的結(jié)構(gòu)圖,如圖3 所示,該裝置包括搜索單元301和確定單元302。搜索單元301用于,以待確定設(shè)備在注冊(cè)表中區(qū)別于其它設(shè)備的特性為搜 索條件,在注冊(cè)表中搜索待確定設(shè)備的符號(hào)連接標(biāo)識(shí)symbliclink,將搜索到的 symbliclink發(fā)給確定單元302。確定單元302用于,根據(jù)搜索單元301發(fā)來的symbliclink確定設(shè)備對(duì)象。 搜索單元301還可以包括friendlyname確定模塊3011和symbliclink確定模塊 3012。friendlyname確定模塊3011用于,在注冊(cè)表中搜索包含關(guān)鍵字directsound 的設(shè)備的friendlyname,將搜索到的friendlyname發(fā)給symbliclink確定才莫塊 3012。symbliclink確定模塊3012用于,在注冊(cè)表中音頻設(shè)備目錄下,針對(duì)接收到 的每一 friendlyname,查詢所述friendlyname 4建的鍵:值,將所述4建值中包含的 symbliclink發(fā)給確定單元302。圖3所示裝置還可以進(jìn)一步包括回音消除單元303。回音消除單元303用于,根據(jù)對(duì)確定單元302確定的設(shè)備對(duì)象播放的語音 數(shù)據(jù)的攔截結(jié)果,從采集的語音數(shù)據(jù)中去除攔截到的語音數(shù)據(jù)。由上述技術(shù)方案可見,本發(fā)明實(shí)施例公開的技術(shù)方案,以待確定設(shè)備對(duì)象 在注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè) 備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,根據(jù)所述symbliclink確定設(shè)備對(duì)象。由于 注冊(cè)表中的設(shè)備對(duì)象特性比設(shè)備管理器中的設(shè)備對(duì)象特性更詳細(xì),因而,可提 高確定設(shè)備對(duì)象的準(zhǔn)確性。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù) 范圍,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種確定設(shè)備對(duì)象的方法,其特征在于,該方法包括步驟以待確定設(shè)備對(duì)象在計(jì)算機(jī)中的注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,根據(jù)所述symbliclink確定設(shè)備對(duì)象。
2、 如權(quán)利要求l所述的方法,其特征在于,所述在注冊(cè)表中搜索待確定設(shè) 備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink包括在注冊(cè)表中搜索具有所述特性的設(shè)備 對(duì)象的廠商標(biāo)識(shí)friendlyname ,才艮據(jù)所述friendlyname確定設(shè)備對(duì)象的 symbliclink 。
3、 如權(quán)利要求2所述的方法,其特征在于,所述待確定設(shè)備對(duì)象為系統(tǒng)默 認(rèn)工作的音頻設(shè)備對(duì)象,所述待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象 的特性包括所述系統(tǒng)默認(rèn)工作的音頻設(shè)備對(duì)象在注冊(cè)表中包含關(guān)鍵字 directsound。
4、 如權(quán)利要求3所述的方法,其特征在于,所述在注冊(cè)表中搜索具有所述 特性的設(shè)備對(duì)象的廠商標(biāo)識(shí)friendlyname包括通過CLSID—Audio Render Category枚舉器枚舉音頻設(shè)備對(duì)象的 friendlyname,獲取包含關(guān)4建字directsound的i殳備對(duì)象的friendlyname。
5、 如權(quán)利要求3或4所述的方法,其特征在于,才艮據(jù)所述friendlyname確 定"i殳備對(duì)象的symbliclink包括在注冊(cè)表中音頻設(shè)備目錄下,針對(duì)每一所述friendlyname,查詢所述 friendlyname鍵的鍵值,獲取所述鍵值中包含的symbliclink。
6、 如權(quán)利要求5所述的方法,其特征在于,所述音頻設(shè)備目錄為計(jì)算機(jī)注 冊(cè)表中 的 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ ^5E8773E國8F56-llD0誦A3B9-00A0C9223196p頁。
7、 如權(quán)利要求l所述的方法,其特征在于,所述在注冊(cè)表中搜索待確定 設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink之后進(jìn)一步包括將搜索到的symbliclink保存至約定存儲(chǔ)空間,以便驅(qū)動(dòng)程序從所述存儲(chǔ)空 間中讀取所述symbliclink以確定設(shè)備對(duì)象。
8、 如權(quán)利要求3所述的方法,其特征在于,根據(jù)所述symbliclink確定設(shè) 備對(duì)象之后進(jìn)一步包括根據(jù)對(duì)確定的設(shè)備對(duì)象播放的語音數(shù)據(jù)的攔截結(jié)果,從采集的語音數(shù)據(jù)中 去除攔截到的語音數(shù)據(jù)。
9、 一種確定設(shè)備對(duì)象的裝置,其特征在于,該裝置包括搜索單元和確定單元;所述搜索單元用于,以待確定設(shè)備對(duì)象在計(jì)算機(jī)中的注冊(cè)表中區(qū)別于其它 設(shè)備對(duì)象的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,將搜索到的symbliclink發(fā)給所述確定單元;所述確定單元用于,根據(jù)所述搜索單元發(fā)來的symbliclink確定設(shè)備對(duì)象。
10、 如權(quán)利要求9所述的裝置,其特征在于,所述搜索單元包括friendlyname 確定才莫塊和symbliclink確定才莫塊;所述friendlyname確定才莫塊用于,在注冊(cè)表中搜索包含關(guān)4建字directsound 的i殳備對(duì)象的friendlyname,將搜索到的friendlyname發(fā)給所述symbliclink確 定模塊;所述symbliclink確定模塊用于,在注冊(cè)表中音頻設(shè)備目錄下,針對(duì)接收到 的每一 friendlyname,查詢所述friendlyname 4建的鍵:值,將所述鍵值中包含的 symbliclink發(fā)給所述確定單元。
11、 如權(quán)利要求8所述的裝置,其特征在于,所述裝置進(jìn)一步包括回音消 除單元;所述回音消除單元用于,根據(jù)對(duì)所述確定單元確定的設(shè)備對(duì)象播放的語音 數(shù)據(jù)的攔截結(jié)果,從采集的語音數(shù)據(jù)中去除攔截到的語音數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種確定設(shè)備對(duì)象的方法與裝置。所述方法包括步驟以待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,根據(jù)所述symbliclink確定設(shè)備對(duì)象。所述裝置包括搜索單元和確定單元;所述搜索單元用于,以待確定設(shè)備對(duì)象在注冊(cè)表中區(qū)別于其它設(shè)備對(duì)象的特性為搜索條件,在注冊(cè)表中搜索待確定設(shè)備對(duì)象的符號(hào)連接標(biāo)識(shí)symbliclink,將搜索到的symbliclink發(fā)給所述確定單元;所述確定單元用于,根據(jù)所述搜索單元發(fā)來的symbliclink確定設(shè)備對(duì)象。應(yīng)用本發(fā)明實(shí)施例公開的技術(shù)方案可提高確定設(shè)備對(duì)象的準(zhǔn)確性。
文檔編號(hào)H04M1/58GK101291376SQ20081011520
公開日2008年10月22日 申請(qǐng)日期2008年6月18日 優(yōu)先權(quán)日2008年6月18日
發(fā)明者飛 周, 曹玉弟 申請(qǐng)人:北京中星微電子有限公司