新四季網

一種確定設備對象的方法與裝置的製作方法

2023-10-06 02:30:24 3

專利名稱:一種確定設備對象的方法與裝置的製作方法
技術領域:
本發明涉及計算機領域,尤其涉及一種確定設備對象的方法與裝置。
背景技術:
回音消除是利用計算機記錄或傳輸語音數據亟需解決的 一個問題。當計 算機中安裝了兩個以上的音頻設備時,通過某 一 音頻設備傳出的語音數據可 能會通過另一音頻設備傳回來,從而引起回音。例如,曱和乙撥打網絡電話, 曱的說話聲傳到乙處並通過乙的音箱播放後,若被乙的麥克風採集,並由乙 處傳至甲處,則曱就會感覺到回音。
消除回音的方法之一是,確定計算機中當前正在工作的音頻設備對象, 對特定音頻設備對象的數據包進行攔截。仍以曱和乙撥打網絡電話為例,若 乙通過麥克風與曱通話的同時,通過音箱播放曱處傳來的聲音,則可對乙處 音箱播放的聲音進行攔截,乙處麥克風在採集語音數據時,根據攔截到的語 音數據,從採集到的語音數據中去掉音箱播放的聲音,進而消除回音。可見, 採用這種方法消除回音時,需要確定當前正在工作的音頻設備對象。
計算機中安裝的多個音頻設備中,有一些是系統默認工作的,通常,計 算機啟動後,當前正在工作的音頻設備即為這些默認工作的音頻設備。每個 安裝到計算機上的音頻設備,可以在計算機中映射得到一個設備對象,也可 得到多個設備對象,但這些設備對象中只能有一個是系統默認工作的。
計算機中的設備管理器中包含該計算機中安裝的所有設備的信息,這些
信息可用來確定設備對象。現有技術中,即通過設備管理器中的音頻設備信 息確定需要對其語音數據進行攔截的音頻設備對象,然後由驅動程序對這些 設備對象進行處理。設備管理器所包含的設備信息對設備對象的描述較為粗糙,例如,這些 信息不能標識哪些設備對象是系統默認工作的。因此,通過設備管理器確定 音頻設備對象以消除回音時,或者需要根據預先確定的音頻設備對象的特徵 信息,從設備管理器所顯示的各種音頻設備對象中,確定具備所述特徵信息的音頻設備對象,從而對確定的音頻設備對象進行語音數據攔截;或者需要 遍歷查詢設備管理器中所顯示的各種音頻設備對象,對每一設備對象均進行 相關處理,以確定需要對其進行語音數據攔截的音頻設備對象。其中,前一 可選方法的靈活性較差,只能消除預先確定的音頻設備產生的回音;後一可 選方法增加了驅動的複雜度。眾所周知,計算機中的資源包括用戶態(usermode)下的資源和核心態 (kernalmode )下的資源,其中,kernalmode下的資源比usermode下的資源 具有更高的優先級,也要求更高的穩定性。驅動程序佔用的就是kernalmode 下的資源。當使用所述後一可選方法時,由於驅動程序需要對設備管理器中 所顯示的所有音頻設備對象均進行相關處理,因此增加驅動程序的複雜性, 使得驅動程序的穩定性降低,而且由於佔用的kernalmode資源較多,也降 低了計算機系統的穩定性。可見,由於設備管理器中的設備信息對設備對象的描述不夠詳細,因此 確定設備對象的準確性較差,這樣,當需要對確定的設備對象進行相關處理 時,就會可能引起諸如上述的不足。例如,若計算機中安裝了兩個以上的音 頻設備、或一個音頻設備具有兩個以上的音頻設備對象,則利用設備管理器 中的設備信息雖然能夠確定該計算機中的音頻設備對象,但是並不能確定這 些音頻設備對象中哪些是系統默認工作的,因此,在需要消除回音時,或者 只能消除預先確定的音頻設備產生的回音,或者增加了驅動的複雜度。發明內容有鑑於此,本發明的目的在於提供一種確定設備對象的方法與裝置,以 提高確定設備對象的準確性。為達到上述目的,本發明的技術方案具體是這樣實現的 一種確定設備對象的方法,該方法包括步驟以待確定設備對象在計算機中的註冊表中區別於其它設備的特性為搜索 條件,在註冊表中搜索待確定設備對象的符號連接標識symbliclink,根據所述 symbliclink確定設備對象。一種確定設備對象的裝置,該裝置包括搜索單元和確定單元; 所述搜索單元用於,以待確定設備對象在計算機中的註冊表中區別於其它 設備的特性為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識 symbliclink,將搜索到的symbliclink發給所述確定單元;所述確定單元用於,根據所述搜索單元發來的symbliclink確定設備對象。 可見,由於與設備管理器中的設備信息相比,註冊表中的設備信息對設備 對象做了較為詳細的描述,因此,當以待確定設備對象在註冊表中區別於其它 設備對象的特性作為搜索條件,在註冊表中搜索待確定設備對象的符號連接標 識symbliclink,根據所述symbliclink確定設備對象時,可提高確定設備對象的準 確性。


圖1是本發明方法實施例提出的確定具有directsound關鍵字的 friendlyname的方法流程圖;圖2是本發明方法實施例提供的在含有directsound關鍵字的 friendlyname 4建的鍵值中查詢symbliclink的方法流程圖;圖3是本發明裝置實施例提供的確定設備對象的裝置的結構圖。
具體實施方式
本發明的發明人注意到與計算機中的設備管理器中的設備信息相比, 計算機中的註冊表中的設備信息對設備對象做了較為詳細的描述,因此,提出以待確定設備對象在註冊表中區別於其它設備對象的特性作為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識(symbliclink),根據所述 symbliclink確定設備對象。
為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉 實施例,對本發明進一步詳細說明。
下面以確定系統默認工作的音頻設備對象為例,對本發明進行示例性說明。
每個設備都有各自的廠商標識friendlyname,在採用Windows作業系統 的計算機中安裝音頻設備時,在安裝的註冊過程中,系統會在註冊表中用這 一 friendlyname作為一個鍵來標識該設備的設備對象,這個鍵的4建值中可以 存儲有所述設備對象的symbliclink,根據該symbliclink就可以找到所述設 備對象,此外,系統還會在註冊表中自動為默認工作的音頻設備對象打上 directsound的關鍵字。因此,只要在註冊表中搜索含有directsound關鍵字的 friendlyname鍵,在所述鍵的鍵值中找到symbliclink,即可確定系統默認工 作的音頻設備對象。
下面給出確定具有directsound關4定字的friendlyname的方法,以及在含 有directsound關4建字的friendlyname 4建的鍵:值中查詢symbliclink的方法。
在Windows作業系統下,常用的DSHOW方法來搜索具有directsound 關4建字的friendlyname,具體來講,就是先獲得枚舉音頻i殳備friendlyname 的CLSID—AudioRendererCategory枚舉器的接口,查詢該枚舉器枚舉的每一 音頻設備對象的friendlyname中是否含有dierctsound關鍵字,即可確定具有 directsound關4建字的friendlyname,下面結合圖1具體i兌明該方法。
圖1是本發明方法實施例提出的確定具有directsound關鍵字的 friendlyname的方法流程圖,如圖1所示,該方法具體包括如下步驟
步驟101,獲得CLSID_AudioRendererCategory枚舉器的接口。 CLSID—AudioRendererCategory枚舉器是採用Windows作業系統的計算機 枚舉音頻設備的設備對象的枚舉器,可通過DSHOW方法獲得該枚舉器的接 口。如何利用DSHOW方法獲得該枚舉器的接口屬於現有技術。步驟102,利用CLSID—AudioRendererCategory枚舉器對該計算機中安 裝的音頻設備對象進行枚舉,得到音頻設備對象的friendlyname,枚舉的具 體方法屬於現有技術。通過本步驟,可獲得計算機中安裝的所有音頻設備對象(包括系統默認 工作的音頻設備對象和非系統默認工作的音頻設備對象)的friendlyname。步驟103,判斷具有該friendlyname的音頻設備對象的信息中是否包含 directsound關鍵字,若是,則執行步驟104,否則執行步驟105。步驟104,提取包含directsound關鍵字的設備對象的friendlyname。這 一 friendlyname可用於進一步獲得設備對象的symbliclink,所述symbliclink 用於確定所述設備對象。包含directsound關鍵字的設備對象即為系統默認工作的音頻設備對象。 因此,通過本步驟,可獲得計算機中當前系統默認工作的音頻設備對象。通 常,計算機中當前正在工作的音頻設備對象即為系統默認工作的音頻設備對象。步驟105,判斷枚舉是否完成,若是,則結束本流程,否則執行步驟106。 步驟106,利用CLSID—AudioRendererCategory枚舉器枚舉下一個音頻 設備對象。通過圖1所示方法,可以找到所有具有directsound關鍵字的音頻設備 對象的friendlyname,即可以找到系統默認工作的音頻設備對象的所有 friendlyname 。確定了含有directsound關鍵字的friendlyname後,即可在註冊表中的音 頻設備目錄下,查詢每一含有directsound關鍵字的friendlyname鍵的鍵值, 提取鍵值中所包含的symbliclink。在 Windows 作業系統下,所述音頻設備目錄為 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ (65E8773E-8F56-11D0-A3B9-00A0C9223196)項,這一項記錄的是音箱、耳 機等播放語音數據的音頻設備的設備對象。圖2是本發明方法實施例提供的在含有directsound關鍵字的 friendlyname 4建的鍵值中查詢symbliclink的方法流程圖。圖2採用了遞歸方法查詢鍵值,如圖2所示,該方法具體包括如下步驟步驟201,在HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ {65E8773E-8F56-11D0-A3B9-00A0C9223196}項中查詢是否包含 friendlyname鍵,若是則執行步驟204,否則執行步驟202。所述friendlyname 即為包含directsound關4建字的friendlyname。步驟202,查詢所有子鍵。步驟203,查詢是否有friendlyname子鍵,若是則執行步驟204,否則 執行步驟207。步驟204,查詢該鍵的鍵值。步驟205,判斷鍵值中是否包含symbliclink,若是則執行步驟206,否 則執行步驟207。步驟206,返回查找到的symbliclink。查找到symbliclink,可將該symbliclink保存至約定的存儲空間中,例 如,保存至與驅動程序約定的存儲空間中,這樣,驅動程序從該約定存儲空 間中即可讀取該symbliclink,根據該symbliclink確定設備對象。步驟207,判斷是否所有包含directsound關鍵字的friendlyname均已查 詢完畢,若是則結束本流程,否則轉至步驟208。步驟208,確定下一需要查詢的friendlyname,轉至步驟201。通過圖2所示的方法,可在含有directsound關鍵字的friendlyname 4建的 鍵值中查詢到該設備對象的symbliclink,由於根據設備對象的symbliclink 即可確定設備對象,因而,通過圖2的方法,可確定系統默認工作的音頻設 備對象。由於系統默認工作的音頻設備對象通常即為正在工作的音頻設備對象, 在確定了系統默認工作的音頻設備對象後,即可針對該音頻設備對象消除回 音,其具體方法為攔截該音頻設備對象播放的語音數據,從採集的語音數據中去除攔截到的語音數據。
例如,通過圖l和圖2搜索到系統默認工作的音頻設備對象後,甲和乙 撥打網絡電話,在乙通過麥克風與甲通話的同時,通過系統默認工作的音箱 這一音頻設備播放曱處傳來的聲音,在這一場景中,乙的麥克風攔截所述設 備對象播放的語音數據,並從該麥克風採集的語音數據中去除攔截到的語音 數據,則可消除回音,使曱感覺不到回音。
採用圖1和圖2所示方法確定音頻設備對象時,根據音頻設備在安裝和 註冊時,系統默認工作的音頻設備對象會被自動打上directsound關鍵字這 一特性,首先使用DSHOW方法獲得系統默認工作的音頻設備對象的 friendlyname, 然後以friendlyname作為查詢條件,在deviceclass的Render 子項、 即 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ {65E8773E-8F56-11D0-A3B9-00A0C9223196}項中使用遞歸的方法獲得音頻 設備對象的symblicLink。驅動程序根據所述symblicLink即可確定設備對象。
由於本發明在確定設備對象時,利用的是註冊表中的設備信息,而註冊 表中的設備信息與設備管理器中的設備信息相比,對設備對象的描述更加詳 細,因而可提高確定設備的準確性。
例如,根據音頻設備在安裝和註冊時的特性,利用音頻設備在註冊表中 的設備信息確定音頻設備時,不僅可以確定系統中的所有音頻設備對象,而 且可以進一 步地確定系統默認工作的音頻設備對象,從而提高了確定設備對 象的準確性。
當確定出的是系統默認工作的音頻設備對象,而非所有的音頻設備對象 時,由於減少了設備對象的數量,因此可降低驅動程序的複雜度,進而提高 驅動程序的穩定性。
當採用遞歸的方法查詢註冊表時,還可使得查詢代碼得以簡化。 以上以確定系統默認工作的音頻設備對象為例,說明了利用待確定設備 在註冊表中區別於其他設備的特性確定設備對象的方法,實際應用中,只要 找出待確定設備對象在註冊表中區別於其他設備對象的特性,則無論待確定設備對象是否為音頻設備對象,均可利用本發明確定設備對象。根據確定設備對象的方法實施例,下面給出確定設備對象的裝置實施例。圖3是本發明裝置實施例提供的確定設備對象的裝置的結構圖,如圖3 所示,該裝置包括搜索單元301和確定單元302。搜索單元301用於,以待確定設備在註冊表中區別於其它設備的特性為搜 索條件,在註冊表中搜索待確定設備的符號連接標識symbliclink,將搜索到的 symbliclink發給確定單元302。確定單元302用於,根據搜索單元301發來的symbliclink確定設備對象。 搜索單元301還可以包括friendlyname確定模塊3011和symbliclink確定模塊 3012。friendlyname確定模塊3011用於,在註冊表中搜索包含關鍵字directsound 的設備的friendlyname,將搜索到的friendlyname發給symbliclink確定才莫塊 3012。symbliclink確定模塊3012用於,在註冊表中音頻設備目錄下,針對接收到 的每一 friendlyname,查詢所述friendlyname 4建的鍵:值,將所述4建值中包含的 symbliclink發給確定單元302。圖3所示裝置還可以進一步包括回音消除單元303。回音消除單元303用於,根據對確定單元302確定的設備對象播放的語音 數據的攔截結果,從採集的語音數據中去除攔截到的語音數據。由上述技術方案可見,本發明實施例公開的技術方案,以待確定設備對象 在註冊表中區別於其它設備對象的特性為搜索條件,在註冊表中搜索待確定設 備對象的符號連接標識symbliclink,根據所述symbliclink確定設備對象。由於 註冊表中的設備對象特性比設備管理器中的設備對象特性更詳細,因而,可提 高確定設備對象的準確性。以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護 範圍,凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1、一種確定設備對象的方法,其特徵在於,該方法包括步驟以待確定設備對象在計算機中的註冊表中區別於其它設備對象的特性為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識symbliclink,根據所述symbliclink確定設備對象。
2、 如權利要求l所述的方法,其特徵在於,所述在註冊表中搜索待確定設 備對象的符號連接標識symbliclink包括在註冊表中搜索具有所述特性的設備 對象的廠商標識friendlyname ,才艮據所述friendlyname確定設備對象的 symbliclink 。
3、 如權利要求2所述的方法,其特徵在於,所述待確定設備對象為系統默 認工作的音頻設備對象,所述待確定設備對象在註冊表中區別於其它設備對象 的特性包括所述系統默認工作的音頻設備對象在註冊表中包含關鍵字 directsound。
4、 如權利要求3所述的方法,其特徵在於,所述在註冊表中搜索具有所述 特性的設備對象的廠商標識friendlyname包括通過CLSID—Audio Render Category枚舉器枚舉音頻設備對象的 friendlyname,獲取包含關4建字directsound的i殳備對象的friendlyname。
5、 如權利要求3或4所述的方法,其特徵在於,才艮據所述friendlyname確 定"i殳備對象的symbliclink包括在註冊表中音頻設備目錄下,針對每一所述friendlyname,查詢所述 friendlyname鍵的鍵值,獲取所述鍵值中包含的symbliclink。
6、 如權利要求5所述的方法,其特徵在於,所述音頻設備目錄為計算機注 冊表中 的 HKLM\SYSTEM\currentcontrolset\CONTROL\deviceclass\ ^5E8773E國8F56-llD0誦A3B9-00A0C9223196p頁。
7、 如權利要求l所述的方法,其特徵在於,所述在註冊表中搜索待確定 設備對象的符號連接標識symbliclink之後進一步包括將搜索到的symbliclink保存至約定存儲空間,以便驅動程序從所述存儲空 間中讀取所述symbliclink以確定設備對象。
8、 如權利要求3所述的方法,其特徵在於,根據所述symbliclink確定設 備對象之後進一步包括根據對確定的設備對象播放的語音數據的攔截結果,從採集的語音數據中 去除攔截到的語音數據。
9、 一種確定設備對象的裝置,其特徵在於,該裝置包括搜索單元和確定單元;所述搜索單元用於,以待確定設備對象在計算機中的註冊表中區別於其它 設備對象的特性為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識symbliclink,將搜索到的symbliclink發給所述確定單元;所述確定單元用於,根據所述搜索單元發來的symbliclink確定設備對象。
10、 如權利要求9所述的裝置,其特徵在於,所述搜索單元包括friendlyname 確定才莫塊和symbliclink確定才莫塊;所述friendlyname確定才莫塊用於,在註冊表中搜索包含關4建字directsound 的i殳備對象的friendlyname,將搜索到的friendlyname發給所述symbliclink確 定模塊;所述symbliclink確定模塊用於,在註冊表中音頻設備目錄下,針對接收到 的每一 friendlyname,查詢所述friendlyname 4建的鍵:值,將所述鍵值中包含的 symbliclink發給所述確定單元。
11、 如權利要求8所述的裝置,其特徵在於,所述裝置進一步包括回音消 除單元;所述回音消除單元用於,根據對所述確定單元確定的設備對象播放的語音 數據的攔截結果,從採集的語音數據中去除攔截到的語音數據。
全文摘要
本發明公開了一種確定設備對象的方法與裝置。所述方法包括步驟以待確定設備對象在註冊表中區別於其它設備對象的特性為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識symbliclink,根據所述symbliclink確定設備對象。所述裝置包括搜索單元和確定單元;所述搜索單元用於,以待確定設備對象在註冊表中區別於其它設備對象的特性為搜索條件,在註冊表中搜索待確定設備對象的符號連接標識symbliclink,將搜索到的symbliclink發給所述確定單元;所述確定單元用於,根據所述搜索單元發來的symbliclink確定設備對象。應用本發明實施例公開的技術方案可提高確定設備對象的準確性。
文檔編號H04M1/58GK101291376SQ20081011520
公開日2008年10月22日 申請日期2008年6月18日 優先權日2008年6月18日
發明者飛 周, 曹玉弟 申請人:北京中星微電子有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀