百度語(yǔ)音SDK(離在線語(yǔ)音識(shí)別2(識(shí)別模式及識(shí)別錯(cuò)誤設(shè)置))

1.demo自帶的document文件(詳細(xì)的參數(shù)設(shè)置及api講解)

2.重要參數(shù)講解(doc中)

2.1設(shè)置語(yǔ)音識(shí)別模式TBDV oiceRecognitionProperty(18種不同的識(shí)別垂類)

BOOL res= [[BDVoiceRecognitionClientsharedInstance]setPropertyList: @[]];

用處:如果貴公司搜索業(yè)務(wù)是屬于18種類型中的某一種,可以采用,否則慎用。

原理:若設(shè)置了某一類(如地圖),百度會(huì)現(xiàn)在你設(shè)置的地圖類詞庫(kù)中優(yōu)先搜索,若搜索到就匹配轉(zhuǎn)義,若沒(méi)有,繼續(xù)去大詞庫(kù)做循環(huán)查找。

結(jié)果:若公司的搜索業(yè)務(wù)只是一般的關(guān)鍵詞,或者不在18中垂直類型里,建議不設(shè)置(可以不設(shè)置默認(rèn)就是輸入EVoiceRecognitionPropertyInput),否則會(huì)導(dǎo)致識(shí)別時(shí)間稍長(zhǎng)和準(zhǔn)確率偏低(已踩坑)。

2.2當(dāng)前支持3種不同的識(shí)別語(yǔ)言:普通話、粵語(yǔ)和美式英文,(可以不設(shè)置默認(rèn))為普通話,取值參見(jiàn)BDVoiceRecognitionClient.h中的枚舉類型。

[[BDVoiceRecognitionClientsharedInstance]setLanguage:];

2.3錄音開(kāi)始提示音和結(jié)束提示音(在開(kāi)始語(yǔ)音識(shí)別前,配置 示音的開(kāi)關(guān))

具體見(jiàn)doc圖片文件

a.引入提示音 文件

b.打開(kāi)播放 提示音的開(kāi)關(guān)

2.4其他設(shè)置

禁用標(biāo)點(diǎn)符號(hào),(可以不設(shè)置)默認(rèn)為不禁用。

[[BDVoiceRecognitionClientsharedInstance]disablePuncs:YES];

設(shè)置是否對(duì)語(yǔ)音進(jìn)行端點(diǎn)檢測(cè),(可以不設(shè)置)默認(rèn)開(kāi)啟。如進(jìn)行端點(diǎn)檢測(cè),SDK會(huì)自動(dòng)判斷說(shuō)話是否結(jié)束,從而停止錄音;否則,需要調(diào)用speakFinish顯式結(jié)束識(shí)別錄音。

[[BDVoiceRecognitionClientsharedInstance]setNeedVadFlag:YES];

設(shè)置是否對(duì)上傳的語(yǔ)音進(jìn)行壓縮,(可以不設(shè)置)默認(rèn)開(kāi)啟。壓縮語(yǔ)音會(huì)節(jié)約手機(jī)流量,但是會(huì)消耗CPU資源。

[[BDVoiceRecognitionClientsharedInstance]setNeedCompressFlag:YES];

設(shè)置在線識(shí)別的響應(yīng)等待時(shí)間,如果超時(shí),觸發(fā)同步離線識(shí)別。

[[BDVoiceRecognitionClientsharedInstance]setOnlineWaitTime:5];


3.重要API講解(doc中)

3.1開(kāi)始語(yǔ)音識(shí)別需要配置參數(shù),具體配置可參考開(kāi)發(fā)包頭文件中的說(shuō)明。開(kāi)發(fā)者信息ApiKey

和SecretKey為必須配置項(xiàng),其余可選。設(shè)置方式如下:

[[BDVoiceRecognitionClientsharedInstance]setApiKey:@"apiKey "withSecretKey:@”se

cretKey”];

3.2開(kāi)始語(yǔ)音API(設(shè)置自己為代理,也就可以任意耍了 轉(zhuǎn)義 錯(cuò)誤 網(wǎng)絡(luò)情況)

[BDVoiceRecognitionClientsharedInstance]startVoiceRecognition:self];

3.3啟動(dòng)語(yǔ)音識(shí)別:此操作將會(huì)啟動(dòng)錄音,預(yù)處理和網(wǎng)絡(luò)通訊三個(gè)模塊的工作(3個(gè)都是可選協(xié)議方法)。

a.啟動(dòng)語(yǔ)音(接收語(yǔ)音識(shí)別的結(jié)果):這里建議采用demo中的方式

//開(kāi)始語(yǔ)音識(shí)別功能,之前必須實(shí)現(xiàn)MVoiceRecognitionClientDelegate協(xié)議中的-(void)VoiceRecognitionClientWorkStatus:(int)aStatus obj:(id)aObj方法

感興趣的同學(xué)可以打斷點(diǎn)調(diào)試每個(gè)方法的執(zhí)行順序,一方面加深代理方法的調(diào)用順序,另一方面可以在某個(gè)具體的枚舉方法中實(shí)現(xiàn)自己需要的某些效果。

ps:

intstartStatus = -1;

startStatus = [[BDVoiceRecognitionClientsharedInstance]startVoiceRecognition:self];

if(startStatus !=EVoiceRecognitionStartWorking)//創(chuàng)建失敗則報(bào)告錯(cuò)誤

{

NSString*statusString = [NSStringstringWithFormat:@"%d",startStatus];

[selfperformSelector:@selector(firstStartError:)withObject:statusStringafterDelay:0.3];//延遲0.3秒,以便能在出錯(cuò)時(shí)正常刪除view

return;

}

b.如果應(yīng)用程序需要監(jiān)聽(tīng)BDVRClient識(shí)別過(guò)程中的網(wǎng)絡(luò)狀態(tài),需要實(shí)現(xiàn)如下方法,代碼如下:

- (void)VoiceRecognitionClientNetWorkStatus:(int) aStatus{

switch (aStatus){

case EVoiceRecognitionClientNetWorkStatusStart:{

// 底層網(wǎng)絡(luò)通訊模塊通訊開(kāi)始,用戶可以在狀態(tài)條中顯示菊花轉(zhuǎn)等等, 示用戶

break;}

case EVoiceRecognitionClientNetWorkStatusEnd:{

//底層網(wǎng)絡(luò)通訊模塊通訊完成,同樣此狀態(tài)可以在UI上給用戶 示break;

}}

}

c.BDVRClient識(shí)別中發(fā)生錯(cuò)誤后,如果應(yīng)用程序需要得到更加詳細(xì)的錯(cuò)誤信息,需要實(shí)現(xiàn)如下方法,具體的錯(cuò)誤類型說(shuō)明參考表4(doc文檔)。

- (void)VoiceRecognitionClientErrorStatus:(int) aStatus subStatus:(int)aSubStatus{

switch (aStatus){

case EVoiceRecognitionClientErrorStatusClassVDP:{

//語(yǔ)音數(shù)據(jù)處理出錯(cuò)switch (aSubStatus){

case EVoiceRecognitionClientErrorStatusNoSpeech:{

//用戶未說(shuō)話

break;}

//其他case}

break;}

case EVoiceRecognitionClientErrorStatusClassRecord:{

//錄音出錯(cuò)

break;}

case EVoiceRecognitionClientErrorStatusClassLocalNet:{

//網(wǎng)絡(luò)出錯(cuò)break;

}

case EVoiceRecognitionClientErrorStatusClassServerNet:{

//服務(wù)器返回錯(cuò)誤

break;}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容