百度語音SDK(離在線語音識別1(僅采用識別接口))

1.http://yuyin.baidu.com百度語音開發(fā)者平臺注冊帳號

2.創(chuàng)建應(yīng)用,如下圖:

3.下載SDK

SDK下載——>01選擇應(yīng)用 02選擇可用的SDK及資源

4.參考文檔配置工程

文檔中心——>產(chǎn)品文檔(語音識別—>離在線語音識別IOS SDK)

開始配置


4.1.引入編譯需要的Framework—>>Build Phase->Link Binary With Libraries

4.2.引入靜態(tài)庫文件——>>libBDVoiceRecognitionClient.a

4.3.添加第三方開源庫(2和3已經(jīng)放在一個文件夾)

(ps:避免直接拖文件夾到工程中,有可能文件并沒有在工程的資源文件夾內(nèi)。先在fider中創(chuàng)建并添加再從工程中add)

4.4.引入庫所需的資源文件(百度內(nèi)置的UI,這里不需要)

4.5.引入授權(quán)文件和數(shù)據(jù)文件(離線需要,這里不需要)

4.6.引入頭文件(這里只使用識別接口,所以只導(dǎo)入以下頭文件)

#import “BDVoiceRecognitionClient.h”

#import"CATRadarView.h"

4.7引入靜態(tài)庫文件(libBDVoiceRecognitionClient.a)遇到的坑

現(xiàn)象:

----(null) -----Error Domain=WKErrorDomain Code=4 "發(fā)生 JavaScript 異常" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=SyntaxError: Unexpected EOF, WKJavaScriptExceptionSourceURL=file:///var/mobile/Containers/Data/Application/B1EE1658-E23A-4238-A8AA-CAA19C33E20A/Library/Caches/42c23675cd3543ac9e2dc3aac8941e0b/index.html,

解決:

1、查找文檔找不到

2、網(wǎng)頁搜索報錯(js報錯原因及解決)

http://www.itdecent.cn/p/e9e70cd2da22

a.原因

b.解決

3、網(wǎng)頁搜索集成的坑(干貨)—>>引起js報錯的原因

libBDVoiceRecognitionClient.a中會封裝自己的json.kit,這個框架的json格式與自己公司開發(fā)中和H5協(xié)定的格式不一致,導(dǎo)致導(dǎo)入后原有的與H5交互的數(shù)據(jù)都無法返回甚至報錯

4.8具體接口調(diào)用參考百度demo

a.頭文件

#import "BDVoiceRecognitionClient.h"

b.配置 BDVoiceRecognitionClient

// 使用自己申請的應(yīng)用的ApiKey和SecretKey替換之[[BDVoiceRecognitionClient sharedInstance]setApiKey:@"ApiKey"withSecretKey:@"SecretKey”];

[[BDVoiceRecognitionClient sharedInstance] setLanguage:EVoiceRecognitionLanguageChinese];

[[BDVoiceRecognitionClient sharedInstance] setResourceType:RESOURCE_TYPE_NLU];

[[BDVoiceRecognitionClient sharedInstance] setPropertyList:@[@(EVoiceRecognitionPropertyWeb)]];

if ([[BDVoiceRecognitionClient sharedInstance] isCanRecorder]) {[[BDVoiceRecognitionClient sharedInstance] startVoiceRecognition:self];}

c.實現(xiàn)MVoiceRecognitionClientDelegate協(xié)議中代理方法

- (void)VoiceRecognitionClientWorkStatus:(int) aStatus obj:(id)aObj{

switch (aStatus) {

case EVoiceRecognitionClientWorkStatusStartWorkIng:

NSLog(@"開始錄音");

break;

case EVoiceRecognitionClientWorkStatusStart:

NSLog(@"檢測到用戶開始說話");

break;

case EVoiceRecognitionClientWorkStatusEnd:

NSLog(@"結(jié)束錄音");

break;

case EVoiceRecognitionClientWorkStatusFinish:

{

// 此處返回識別結(jié)果

NSLog(@"語音識別功能完成,服務(wù)器返回正確結(jié)果");

NSString * string = [aObj JSONString];

NSLog(@"識別結(jié)果: %@",string);

break;

}

default:

break;

}

}

d.退出時釋放BDVoiceRecognitionClient對象,不釋放有可能會崩潰。

#pragma mark------>>退出頁面釋放

-(void)dealloc {

[BDVoiceRecognitionClientreleaseInstance];

}

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

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

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