先配置我們需要的文件,如圖:

將整個SDK包先復(fù)制到工程,然后再add file的方式加入工程? ? create group
將主題刪除引用,再重新加入,create folder references (記住刪除SDK包中的demo)
也需要我們加入JSONKit (記住關(guān)閉ARC)
百度語音目前最新版的1.6.2少了CoreTelephony.framework類庫、會報5個錯,加上就好.
之引入BDVRClient的頭文件后就是我們需要實現(xiàn)的代碼? 可以直接復(fù)制.(注意括號已經(jīng)方法名稱)
首先將BDVRClient提供的頭文件拷貝到工程目錄下,在XCode中添加此文件,引入BDVRClient提供的頭文件。
如果使用識別UI,請?zhí)砑尤缦骂^文件:
#import "BDRecognizerViewController.h"
#import "BDRecognizerViewDelegate.h"
如果只使用識別接口,添加如下頭文件:
#import "BDVoiceRecognitionClient.h"
如果要對音頻數(shù)據(jù)或音頻文件直接進行識別,請分別添加如下頭文件:
#import "BDVRRawDataRecognizer.h"
#import "BDVRFileRecognizer.h"
初始化? ? ??
@interface ViewController () <BDRecognizerViewDelegate>//遵守一個代理
{?????????????? //語音界面
???????????????? BDRecognizerViewController *bdrv;
????????????????? NSMutableData *allData;
?????????????? //參數(shù)設(shè)置
?????????????? BDRecognizerViewParamsObject *bdvp;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//主題設(shè)置
BDTheme *me = [BDTheme? lightBlueTheme];
bdrv = [[BDRecognizerViewController alloc]initWithOrigin:CGPointMake( 20, 180) withTheme:me];
//全屏模式
bdrv.enableFullScreenMode = YES;
bdrv.delegate = self;
bdvp = [[BDRecognizerViewParamsObject alloc]init];
bdvp.apiKey = @"RiYYprli930gKNAt9MgWt4wG";
bdvp.secretKey = @"e861c0b1c67b75c1e23ce55b2c5e3732";
Lab = [[UILabel alloc]initWithFrame:CGRectMake(100, 500, 200, 39)];
[self.view addSubview:Lab];
}
一個按鈕點擊方法
- (IBAction)ShiBie:(id)sender
{
allData = [[NSMutableData alloc] init];
[bdrv? startWithParams:bdvp];
}
//錄音返回
- (void)onRecordDataArrived:(NSData *)recordData sampleRate:(int)sampleRate
{
[allData appendData:recordData];
}
這個方法是? 返回我們使我們語音是識別出的內(nèi)容 可以用一個UILabel標(biāo)簽展示一下(不需要的也可以直接忽略這一個方法)
- (void)onEndWithViews:(BDRecognizerViewController *)aBDRecognizerViewController withResults:(NSArray *)aResults
{
Lab.text =[[[[aResults lastObject]lastObject] allKeys] lastObject];
}