亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于Android平臺支持虛擬音頻設(shè)備的方法及系統(tǒng)的制作方法

文檔序號:6400997閱讀:959來源:國知局
專利名稱:基于Android平臺支持虛擬音頻設(shè)備的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)字音頻處理技術(shù)領(lǐng)域,具體涉及一種基于Android平臺支持虛擬音頻設(shè)備的方法及系統(tǒng)。
背景技術(shù)
目前消費電子產(chǎn)品已進(jìn)入智能時代,例如在智能電視中,音頻輸入設(shè)備已經(jīng)普遍在應(yīng)用中使用,但使用電視終端時,用戶是有一定觀看距離的,導(dǎo)致對電視終端的音頻輸入設(shè)備要求很高,如采用帶背景噪聲消除的陣列麥克風(fēng)、RF音頻或藍(lán)牙音頻設(shè)備輸入。這種音頻設(shè)備配置成本較高,一般不可能在所有智能電視終端配置,而沒有語音輸入設(shè)備的電視終端,其智能電視應(yīng)用的豐富性、可使用性都會下降。而現(xiàn)階段大部分智能電視采用Android系統(tǒng),因此如何在基于Android平臺的消費電子產(chǎn)品上使用戶能夠便捷、低成本地使用各種音頻裝置進(jìn)行語音輸入,是需要解決的一個技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種基于Android平臺支持虛擬音頻設(shè)備的方法及系統(tǒng),可以使用戶能夠便捷、低成本地使用各種音頻裝置進(jìn)行語音輸入,解決傳統(tǒng)技術(shù)中對用戶語音輸入設(shè)備要求高的技術(shù)問題。本發(fā)明是這樣實現(xiàn)的,基于Android平臺支持虛擬音頻設(shè)備的方法,包括以下步驟:設(shè)置虛擬音頻HAL接口;通過虛擬音頻服務(wù)登記和監(jiān)測虛擬音頻輸入;當(dāng)監(jiān)測到虛擬音頻輸入請求時,HAL實現(xiàn)層通過運行虛擬音頻HAL接口接收虛擬音頻輸入。本發(fā)明的另一目的在于提供一種基于Android平臺支持虛擬音頻設(shè)備的系統(tǒng),該系統(tǒng)包括:音頻終端;虛擬音頻設(shè)備端,該設(shè)備端基于Android平臺,包括有虛擬音頻服務(wù)模塊、虛擬音頻HAL接口、HAL實現(xiàn)模塊,虛擬音頻服務(wù)模塊對音頻終端進(jìn)行登記和監(jiān)測,當(dāng)監(jiān)測到音頻終端有虛擬音頻輸入請求時,HAL實現(xiàn)層模塊通過運行虛擬音頻HAL接口對音頻終端進(jìn)行控制并接收音頻輸入。本發(fā)明的有益效果是:由于本發(fā)明從Android平臺的HAL層入手,使音頻設(shè)備能夠接收各種外部虛擬音頻輸入,也就是說,這種發(fā)明實際上是延伸了物理設(shè)備的概念,消費者就無需購買專門的音頻輸入設(shè)備,使用已有的、特別是便攜語音終端如手機,就可進(jìn)行語音輸入,因此具有成本低、使用便捷的優(yōu)點。


圖1是本發(fā)明的流程圖。圖2是本發(fā)明的系統(tǒng)架構(gòu)圖。圖3是本發(fā)明的打開虛擬音頻流接口、讀取虛擬音頻數(shù)據(jù)接口流程圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步說明。在本發(fā)明實施例中,包括一種方法和一種系統(tǒng),其中方法流程如圖1,系統(tǒng)架構(gòu)如圖2,相關(guān)的虛擬音頻流的打開和讀取流程則如圖3所示。如圖1, 一種基于Android平臺支持虛擬音頻設(shè)備的方法,包括以下步驟:設(shè)置虛擬音頻HAL接口;通過虛擬音頻服務(wù)登記和監(jiān)測虛擬音頻輸入;當(dāng)監(jiān)測到虛擬音頻輸入請求時,HAL實現(xiàn)層通過運行虛擬音頻HAL接口接收虛擬音頻輸入。進(jìn)一步詳細(xì)說明如下:構(gòu)建包含音頻輸入 的HAL實現(xiàn)層對應(yīng)的打開音頻流接口、讀取音頻數(shù)據(jù)接口、停止音頻數(shù)據(jù)采集接口、關(guān)閉音頻流接口的虛擬設(shè)備的HAL接口,以及一個設(shè)備描述字段,接口如下:
typedef struct {
char devdesc[128]
void (openVirtual*)(uint32_t sample—rate, int format, int channel_count); ssize—t (readVirtual*)(void 本buffer, size—t bytes); int (standbyVirtual*)(struct audio—stream* stream); void (closeVirtual*)();
}VirtualInputStreamer;其中的open對應(yīng)打開音頻流接口,read對應(yīng)讀取音頻數(shù)據(jù)接口,standby對應(yīng)停止音頻數(shù)據(jù)采集接口,close對應(yīng)關(guān)閉音頻流接口。實現(xiàn)上述虛擬設(shè)備的HAL接口,并編譯成動態(tài)連接庫,用于系統(tǒng)運行時動態(tài)加載;在andro i d的音頻服務(wù)中設(shè)置設(shè)備參數(shù)變量,該參數(shù)可通過andro i d原生的AudioSystem接口設(shè)置,該設(shè)備參數(shù)包括有兩種狀態(tài),指示HAL實現(xiàn)層是接收原生的物理音頻輸入,還是接收虛擬音頻輸入。在本實施例中,其值為空表示采用原生的物理音頻輸入設(shè)備,否則就表示要接收虛擬音頻輸入;基于應(yīng)用層面設(shè)立一種后臺服務(wù),該后臺服務(wù)在滿足虛擬音頻設(shè)備啟用的條件下,對該設(shè)備參數(shù)進(jìn)行設(shè)置,以告知android系統(tǒng)中的audio的HAL實現(xiàn)層將采用該虛擬音頻輸入設(shè)備;在android系統(tǒng)音頻輸入的HAL實現(xiàn)層對應(yīng)的音頻流打開接口中,依據(jù)實現(xiàn)設(shè)備參數(shù)的狀態(tài)實現(xiàn)對本發(fā)明的虛擬設(shè)備的HAL接口動態(tài)鏈接庫的加載;
在android系統(tǒng)音頻輸入的HAL實現(xiàn)層對應(yīng)的音頻流讀取接口中,調(diào)用動態(tài)連接庫中的音頻輸入接口讀取音頻PCM數(shù)據(jù);在android系統(tǒng)音頻輸入的HAL實現(xiàn)層對應(yīng)的音頻流停止接口中,調(diào)用動態(tài)連接庫的standby接口 ;
在android系統(tǒng)音頻輸入的HAL實現(xiàn)層所對應(yīng)的音頻流關(guān)閉接口中,調(diào)用動態(tài)鏈接庫的關(guān)閉流接口,同時關(guān)閉對應(yīng)的動態(tài)連接庫對象;HAL實現(xiàn)層對接虛擬設(shè)備的音頻流打開接口 openVirtual及音頻流讀取接口readVirtual流程如圖3所示,通過上述發(fā)明內(nèi)容,應(yīng)用調(diào)用標(biāo)準(zhǔn)的Android音頻輸入接口,通過audio系統(tǒng)的HAL層操作麥克風(fēng)輸入設(shè)備時,實際上已經(jīng)操作到了虛擬的麥克風(fēng)輸入設(shè)備中;上述這些發(fā)明內(nèi)容是一種通用的虛擬HAL層,只要按這種方式對接,就可以實現(xiàn)多種虛擬麥克風(fēng)設(shè)備,而不局限于特定的一種虛擬麥克風(fēng)接入方式。通過本發(fā)明虛擬設(shè)備接口的設(shè)置,可以有序地對虛擬設(shè)備進(jìn)行操作,同時通過設(shè)備參數(shù)變量的設(shè)置,可以方便地兼容和切換原生的物理音頻輸入、虛擬音頻輸入兩種狀態(tài)。如圖2,一種基于Android平臺支持虛擬音頻設(shè)備的系統(tǒng),該系統(tǒng)包括:音頻終端;虛擬音頻設(shè)備端,該設(shè)備端基于Android平臺,包括有虛擬音頻服務(wù)模塊、虛擬音頻HAL接口、HAL實現(xiàn)層模塊,虛擬音頻服務(wù)模塊對音頻終端進(jìn)行登記和監(jiān)測,當(dāng)監(jiān)測到音頻終端有虛擬音頻輸入請求時,HAL實現(xiàn)層模塊通過運行虛擬音頻HAL接口對音頻終端進(jìn)行控制并接收音頻輸入。以實現(xiàn)一種通過網(wǎng)絡(luò)從手機/PAD等移動終端獲取PCM數(shù)據(jù)的虛擬音頻設(shè)備為例,即將手機/PAD作為音頻終端,具體說明如下:在虛擬音頻設(shè)備端設(shè)立虛擬音頻服務(wù)模塊,以實現(xiàn)一個本地常駐服務(wù),該服務(wù)模塊監(jiān)聽移動終端的自舉信息,將移動終端的IP地址記錄下來,同時,如果接收到來自移動終端的啟用麥克風(fēng)的通訊協(xié)議,通過AudioSystem.setParameters函數(shù),設(shè)置系統(tǒng)的設(shè)備參數(shù) devinput 為“ libvirtualmic.so”,將該值記錄到系統(tǒng)屬性media, audio, devinput 中,供后續(xù)HAL實現(xiàn)層模塊讀取。虛擬音頻設(shè)備端按如下方式實現(xiàn)發(fā)明內(nèi)容中的虛擬音頻HAL接口:打開音頻流接口-openVirtual:按約定的網(wǎng)絡(luò)協(xié)議將采樣率、音頻格式、通道
數(shù)發(fā)送給移動終端,移動終端記錄電視終端要求的采樣率等信息,同時發(fā)送ACK應(yīng)答;讀取音頻流接口-readVirtual:從約定好的端口按UDP協(xié)議讀取指定字節(jié)數(shù)
的數(shù)據(jù),并設(shè)立超時機制;停止音頻流接口-StandbyVirtual:按約定好的網(wǎng)絡(luò)協(xié)議發(fā)送信息給移動終
端,告知移動終端停止麥克風(fēng)數(shù)據(jù)的采集;關(guān)閉音頻流接口-closeVirtual:本實施例不需要實現(xiàn);上述接口方式實現(xiàn)完后,編譯成動態(tài)鏈接庫,名字與devinput參數(shù)一致,為libvirtualmic.so,之后就可以加載運行了android系統(tǒng)按標(biāo)準(zhǔn)音頻HAL接口打開音頻輸入流時,檢測到系統(tǒng)屬性media,audio, devinput,如果不為空字符串NULL,則加載對應(yīng)的動態(tài)鏈接庫,其對應(yīng)對象記為viruallnStreamer,轉(zhuǎn)而調(diào)用 virualInputStreamer 對象的 openVirtual 接口 ;
如果virualInputStreamer對象存在,則調(diào)用該對象的readVirtual接口讀取音頻數(shù)據(jù);同樣調(diào)用virualInputStreamer對象的standby接口,以停止音頻數(shù)據(jù)采集;如果virualInputStreamer 對象不為 NULL,則調(diào)用其 closeVirtual 接口,調(diào)用完后,將virualInputStreamer對象置空并關(guān)閉其對應(yīng)的動態(tài)鏈接庫。這樣虛擬音頻設(shè)備端就能夠從手機/PAD獲取語音數(shù)據(jù)了,因此通過本發(fā)明,可以在智能電視機中設(shè)立該虛擬音頻設(shè)備端,用戶通過已有的手機/PAD對智能電視機進(jìn)行各種語音操作,方便快捷,距離范圍很寬,而無需購買帶背景噪聲消除的陣列麥克風(fēng)等專用設(shè)備,從而節(jié)省了用戶的使用成本。在本實施例中,語音終端可以有多個,即通過本發(fā)明,用戶可以通過多個手機/PAD對智能電視機進(jìn)行語 音操作,使用上更加靈活方便。
權(quán)利要求
1.基于Android平臺支持虛擬音頻設(shè)備的方法,其特征在于包括以下步驟: 設(shè)置虛擬音頻HAL接口 ; 通過虛擬音頻服務(wù)登記和監(jiān)測虛擬音頻輸入; 當(dāng)監(jiān)測到虛擬音頻輸入請求時,HAL實現(xiàn)層通過運行虛擬音頻HAL接口接收虛擬音頻輸入。
2.根據(jù)權(quán)利要求1所述的基于Android平臺支持虛擬音頻設(shè)備的方法,其特征在于所述的虛擬音頻HAL接口包括打開音頻流接口、讀取音頻數(shù)據(jù)接口、停止音頻數(shù)據(jù)采集接口、關(guān)閉首頻流接口。
3.根據(jù)權(quán)利要求1所述的基于Android平臺支持虛擬音頻設(shè)備的方法,其特征在于還包括設(shè)置設(shè)備參數(shù),該設(shè)備參數(shù)包括有兩種狀態(tài),指示HAL實現(xiàn)層是接收原生的物理音頻輸入,還是接收虛擬音頻輸入。
4.根據(jù)權(quán)利要求3所述的基于Android平臺支持虛擬音頻設(shè)備的方法,其特征在于還包括基于應(yīng)用層面設(shè)立一種后臺服務(wù),該后臺服務(wù)在滿足虛擬音頻設(shè)備啟用的條件下對所述設(shè)備參數(shù)進(jìn)行設(shè)置。
5.基于Android平臺支持虛擬音頻設(shè)備的系統(tǒng),其特征在于包括: 音頻終端; 虛擬音頻設(shè)備端,該設(shè)備端基于Android平臺,包括有虛擬音頻服務(wù)模塊、虛擬音頻HAL接口、HAL實現(xiàn)層模塊,虛 擬音頻服務(wù)模塊對音頻終端進(jìn)行登記和監(jiān)測,當(dāng)監(jiān)測到音頻終端有虛擬音頻輸入請求時,HAL實現(xiàn)層模塊通過運行虛擬音頻HAL接口對音頻終端進(jìn)行控制并接收音頻輸入。
全文摘要
本發(fā)明公開了一種基于Android平臺支持虛擬音頻設(shè)備的方法和系統(tǒng),包括以下步驟設(shè)置虛擬音頻HAL接口;通過虛擬音頻服務(wù)登記和監(jiān)測虛擬音頻輸入;當(dāng)監(jiān)測到虛擬音頻輸入請求時,HAL實現(xiàn)層通過運行虛擬音頻HAL接口接收虛擬音頻輸入。本發(fā)明可用于基于Android平臺的智能消費電子產(chǎn)品,可以使用戶能夠便捷、低成本地使用各種音頻裝置進(jìn)行語音輸入。
文檔編號G06F3/16GK103235736SQ201310101090
公開日2013年8月7日 申請日期2013年3月27日 優(yōu)先權(quán)日2013年3月27日
發(fā)明者周建波 申請人:四川長虹電器股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1