=”)發(fā)送的初始化結(jié)果查詢指令后,返回“karaoke_dev_init = I”(表示初始化成功);如果初始化失敗(即切換音頻路徑到卡拉OK設(shè)備,以及選擇聲音拾取設(shè)備為MIC失敗),則卡拉OK設(shè)備20將初始化標(biāo)識(flag)置為0,當(dāng)接收到通過Aud1Manger.getParameter ( “karaoke_dev_init =”)發(fā)送的初始化結(jié)果查詢指令后,返回“karaoke_dev_init = O”(表示初始化失敗)。
[0089]需要說明的是,卡拉OK伴奏信號默認(rèn)的音頻路徑是將卡拉OK伴奏信號寫到終端設(shè)備CPU內(nèi)置的Codec (Coder-Decoder,編碼-解碼器)里面,
[0090]而初始化完成之后就會把卡拉OK伴奏信號的音頻路徑切換到卡拉OK設(shè)備;終端設(shè)備可能存在多個聲音拾取設(shè)備,如果使用卡拉OK模式,則選擇聲音拾取設(shè)備為MIC。
[0091]本實(shí)施例所述的實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng),Android卡拉OK系統(tǒng)平臺10根據(jù)初始化指令,對卡拉OK設(shè)備20進(jìn)行初始化,使得卡拉OK設(shè)備10可以滿足卡拉OK應(yīng)用的需要,實(shí)現(xiàn)卡拉OK應(yīng)用。
[0092]實(shí)施例五
[0093]圖3為本發(fā)明實(shí)施例五實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng);在實(shí)施例一的基礎(chǔ)上,如圖3所示:
[0094]卡拉OK設(shè)備20,設(shè)置有MIC接口 201和USB (Universal Serial Bus,通用串行總線)接口 202,通過MIC接口 201與MIC相連接、通過USB接口 202與終端設(shè)備相連接,還用于將混響后的卡拉OK音頻信號分為二路,第一路混響后的卡拉OK音頻信號存儲在卡拉OK設(shè)備20中,第二路混響后的卡拉OK音頻信號通過終端設(shè)備的揚(yáng)聲器speaker輸出。
[0095]其中,卡拉OK設(shè)備20上可以設(shè)置一個或多個(如2個、3個等)MIC接口 201、一個或多個(如2個、3個等)USB接口 202,對MIC接口 201和USB接口 202的數(shù)量不做具體限定,可以根據(jù)實(shí)際應(yīng)用狀況進(jìn)行設(shè)置。
[0096]其中,終端設(shè)備可以是電視機(jī)、計算機(jī)或手機(jī)等。通過終端設(shè)備的speaker輸出之前,可以先通過終端設(shè)備的PA (power amplifier,功率放大器)對卡拉OK音頻信號進(jìn)行放大,然后再通過speaker輸出。
[0097]具體地,用戶通過MIC進(jìn)行唱歌、朗誦等時,卡拉OK設(shè)備20獲取到通過MIC輸入的聲音信號。具體地,卡拉OK設(shè)備20中的卡拉OK伴奏信號可以是預(yù)先存儲在卡拉OK設(shè)備20中;或可以是卡拉OK設(shè)備20通過USB接口 202與終端設(shè)備相連接后,從終端設(shè)備中獲取等。
[0098]具體地,卡拉OK設(shè)備20通過USB接口 202與終端設(shè)備相連接,可以熱插拔,也可以實(shí)時的通過USB接口 202對卡拉OK設(shè)備20進(jìn)行FW(Firmware,固件)升級,方便以后做更多的優(yōu)化。其中,卡拉OK設(shè)備20可以通過卡拉OK ICdntegrated Circuit,集成電路)
等實(shí)現(xiàn)。
[0099]具體地,將混響后的卡拉OK音頻信號分為二路輸出(第一路混響后的卡拉OK音頻信號和第二路混響后的卡拉OK音頻信號,第一路混響后的卡拉OK音頻信號和第二路混響后的卡拉OK音頻信號是一致的),第二路混響后的卡拉OK音頻信號直接通過speaker輸出,這樣保證了聲音的低延時,可以達(dá)到更好的卡拉OK效果。第二路混響后的卡拉OK音頻信號通過終端設(shè)備的speaker輸出的路徑是:卡拉OK設(shè)備20通過USB接口 202將第二路混響后的卡拉OK音頻信號輸出到終端設(shè)備;終端設(shè)備接收到第二路混響后的卡拉OK音頻信號后,將第二路混響后的卡拉OK音頻信號發(fā)送到終端設(shè)備的speaker輸出。
[0100]相應(yīng)地,Android卡拉OK系統(tǒng)平臺10,還用于獲取卡拉OK設(shè)備20中存儲的第一路混響后的卡拉OK音頻信號,對第一路混響后的卡拉OK音頻信號進(jìn)行錄音和打分。
[0101]具體地,Android卡拉OK系統(tǒng)平臺10對第一路混響后的卡拉OK音頻信號進(jìn)行錄音和打分的過程是:Android卡拉OK系統(tǒng)平臺10將第一路混響后的卡拉OK音頻信號記錄在移動終端的存儲器上,并在記錄過程中,根據(jù)預(yù)設(shè)的打分規(guī)則,對第一路混響后的卡拉OK音頻信號進(jìn)行打分。其中,預(yù)設(shè)的打分規(guī)則可以是將第一路混響后的卡拉OK音頻信號的音調(diào)、音色等,與預(yù)設(shè)的參考音調(diào)、參考音色等進(jìn)行比較,根據(jù)比較結(jié)果,確定分?jǐn)?shù)大小。對第一路混響后的卡拉OK音頻信號進(jìn)行打分,得到第一路卡拉OK音頻信號的分?jǐn)?shù),使得用戶可以直觀了解其演唱、演講等的水平。
[0102]本實(shí)施例所述的實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng),通過設(shè)置有MIC接口 201和USB接口 202的卡拉OK設(shè)備20,以及設(shè)置在終端設(shè)備中的Android卡拉OK系統(tǒng)平臺10,實(shí)現(xiàn)卡拉OK應(yīng)用,可以實(shí)現(xiàn)伴奏、錄音和打分等功能,實(shí)現(xiàn)的功能多;且具有專門的卡拉OK硬件設(shè)備,實(shí)現(xiàn)效果好。
[0103]實(shí)施例六
[0104]圖4為本發(fā)明實(shí)施例六實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng);在實(shí)施例五的基礎(chǔ)上,如圖4所示:
[0105]卡拉OK設(shè)備20,被掛載成U盤,具體用于將第一路混響后的卡拉OK音頻信號存儲在卡拉OK設(shè)備20的in.1mg文件中;
[0106]相應(yīng)地,Android卡拉OK系統(tǒng)平臺10包括:
[0107]共享動態(tài)鏈接庫模塊103,用于通過Android卡拉OK系統(tǒng)平臺10的內(nèi)核(kernel)中的USB大容量存儲(mass storage)協(xié)議從卡拉OK設(shè)備20的in.1mg文件中讀取第一路混響后的卡拉OK音頻信號;
[0108]音頻硬件抽象層模塊102,用于獲取共享動態(tài)鏈接庫模塊103讀取到的第一路混響后的卡拉OK音頻信號,將第一路混響后的卡拉OK音頻信號發(fā)送到音頻錄音模塊104 ;
[0109]音頻錄音模塊104,用于接收音頻硬件抽象層模塊102發(fā)送的第一路混響后的卡拉OK音頻信號,對第一路混響后的卡拉OK音頻信號進(jìn)行錄音和打分。
[0110]其中,USB大容量存儲協(xié)議是U盤傳輸文件的一個協(xié)議,卡拉OK設(shè)備10,被掛載成U盤,第一路混響后的卡拉OK音頻信號是以文件的形式傳輸?shù)摹?br>[0111]本實(shí)施例所述的實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng),卡拉OK設(shè)備20被掛載成U盤,將第一路混響后的卡拉OK音頻信號存儲在卡拉OK設(shè)備20的in.1mg文件中,Android卡拉OK系統(tǒng)平臺10可以從卡拉OK設(shè)備20的in.1mg文件中讀取第一路混響后的卡拉OK音頻信號,獲取第一路混響后的卡拉OK音頻信號的時候方便快捷。
[0112]實(shí)施例七
[0113]圖5為本發(fā)明實(shí)施例七實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng);如圖5所示,Android卡拉OK系統(tǒng)平臺10還包括:
[0114]音頻播放模塊105,用于獲取終端設(shè)備中的音頻播放信號,將音頻播放信號發(fā)送到音頻硬件抽象層模塊102 ;
[0115]相應(yīng)地,音頻硬件抽象層模塊102,還用于接收音頻播放模塊105發(fā)送的音頻播放信號,將音頻播放信號發(fā)送到共享動態(tài)鏈接庫模塊103 ;
[0116]共享動態(tài)鏈接庫模塊103,還用于接收音頻硬件抽象層模塊102發(fā)送的音頻播放信號,通過Android卡拉OK系統(tǒng)平臺10的內(nèi)核中的USB大容量存儲協(xié)議將音頻播放信號寫入卡拉OK設(shè)備20的out.1mg文件中。
[0117]具體地,可以根據(jù)實(shí)際應(yīng)用狀況,從網(wǎng)絡(luò)等處預(yù)先獲取音頻播放信號,將音頻播放信號存儲在終端設(shè)備的存儲器中,當(dāng)需要播放的時候,從終端設(shè)備的存儲器中獲取音頻播放信號。
[0118]其中,音頻播放信號包括:原唱信號或卡拉OK伴奏信號等。如果音頻播放信號是原唱信號,則將原唱信號寫入卡拉OK設(shè)備20的out.1mg文件中;如果音頻播放信號是卡拉OK伴奏信號,則將卡拉OK伴奏信號寫入卡拉OK設(shè)備20的out.1mg文件中。
[0119]具體地,將音頻播放信號寫入卡拉OK設(shè)備20的out.1mg文件中后,卡拉OK設(shè)備20可以從out.1mg文件中獲取音頻播放信號進(jìn)行應(yīng)用,比如音頻播放信號是原唱信號,則卡拉OK設(shè)備20可以將原唱信號通過終端設(shè)備的揚(yáng)聲器speaker輸出實(shí)現(xiàn)播放;又比如音頻播放信號是卡拉OK伴奏信號,則卡拉OK設(shè)備20可以將聲音信號與卡拉OK伴奏信號進(jìn)行合成得到卡拉OK音頻信號。
[0120]本實(shí)施例所述的實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng),Android卡拉OK系統(tǒng)平臺10從終端設(shè)備中獲取音頻播放信號,將音頻播放信號寫入卡拉OK設(shè)備20的out.1mg文件中,方便卡拉OK設(shè)備20獲取音頻播放信號進(jìn)行應(yīng)用。
[0121]實(shí)施例八
[0122]圖6為本發(fā)明實(shí)施例八實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng);在實(shí)施例七的基礎(chǔ)上,如圖6所示,Android卡拉OK系統(tǒng)平臺10還包括:高級Linux聲音架構(gòu)庫模塊106 ;
[0123]相應(yīng)地,音頻硬件抽象層模塊102,還用于將音頻播放信號發(fā)送到高級Linux聲音架構(gòu)庫模塊106 ;
[0124]高級Linux聲音架構(gòu)庫模塊106,用于接收音頻硬件抽象層模塊102發(fā)送的音頻播放信號,通過Android卡拉OK系統(tǒng)平臺10的內(nèi)核中的高級Linux聲音架構(gòu)驅(qū)動器AlsaDriver驅(qū)動終端設(shè)備的揚(yáng)聲器speaker播放音頻播放信號。
[0125]其中,音頻播放信號包括:原唱信號或卡拉OK伴奏信號等。當(dāng)音頻播放信號是原唱信號時,通過安卓Android卡拉OK系統(tǒng)平臺10的內(nèi)核中的Alsa Driver (驅(qū)動器)驅(qū)動終端設(shè)備的揚(yáng)聲器speaker播放原唱信號;或當(dāng)音頻播放信號是卡拉OK伴奏信號時,通過安卓Android卡拉OK系統(tǒng)平臺10的內(nèi)核中的Alsa Driver (驅(qū)動器)驅(qū)動終端設(shè)備的揚(yáng)聲器speaker播放卡拉OK伴奏信號。
[0126]本實(shí)施例所述的實(shí)現(xiàn)卡拉OK應(yīng)用的系統(tǒng),通過安卓Android卡拉OK系統(tǒng)平臺10的內(nèi)核中的Alsa Driver (驅(qū)動器)驅(qū)動終端設(shè)備的揚(yáng)聲器speaker播放音頻播放信號,可以方便快捷地實(shí)現(xiàn)音頻播放信號的播放。
[0127]實(shí)施例九
[0128]圖7