1团甲、導(dǎo)入百度語(yǔ)音第三方SDK:Baidu-Voice-SDK-iOS-1.6.2
? ? 導(dǎo)入識(shí)別二維碼第三方SDK:libqrencode
????在Build Settings中找到Other Linker Flags在后面添加上-ObjC(注意大小寫)?
2矗晃、導(dǎo)入依賴庫(kù)
GLKit.framework
CoreTelephony.framework
AVFoundation.framework
SystemConfiguration.framework
AudioToolbox.framework
libz.tbd
Security.framework
QuartzCore.framework
CoreText.framework
CoreLocation.framework
CFNetwork.framework
CoreGraphics.framework
3枫吧、導(dǎo)入頭文件并定義成員變量
// 在ViewController里
#import "BDRecognizerViewController.h"
#import "BDRecognizerViewDelegate.h"
#import "BDVoiceRecognitionClient.h"
#import "QRCodeGenerator.h"
// 定義成員變量
BDRecognizerViewController *bdrvc;
BDRecognizerViewParamsObject *bdrvpo;
4、語(yǔ)音識(shí)別
// 在viewDidLoad里
BDTheme *me = [BDTheme lightGreenTheme];
bdrvc = [[BDRecognizerViewController alloc]initWithOrigin:CGPointMake(20, 180) withTheme:me];
bdrvc.enableFullScreenMode = YES;// 設(shè)置全屏幕
bdrvc.delegate = self;// 遵守代理協(xié)議
bdrvpo = [[BDRecognizerViewParamsObject alloc]init];// 初始化
bdrvpo.apiKey = @"apiKey";// 百度語(yǔ)音的apiKey
bdrvpo.secretKey = @"secretKey";// 百度語(yǔ)音的secretKey
// 用xib的方法拉一個(gè)按鈕方法直奋,定義響應(yīng)語(yǔ)音識(shí)別的方法
- (IBAction)recognition:(id)sender {
NSMutableData?*allData = [[NSMutableData alloc]init];// 用NSMutableData接收語(yǔ)音識(shí)別出來(lái)的文字
?[bdrvc startWithParams:bdrvpo];// 開始識(shí)別
}
/**
?* @brief 返回中間識(shí)別結(jié)果
*
?* @param results
?*? ? ? ? ? ? 中間識(shí)別結(jié)果
?*/
- (void)onPartialResults:(NSString*)results{
?// 用xib拖拽一個(gè)UITextView(content)
? ?content.text?= results;// 將識(shí)別出來(lái)的結(jié)果顯示在UITextView上面
}
// 用xib的方法拉一個(gè)按鈕方法能庆,定義響應(yīng)清除語(yǔ)音內(nèi)容的方法
- (IBAction)clean:(id)sender {
?content.text = nil;// 清除UITextView上面的文字
}
5、生成二維碼
- (IBAction)generate:(id)sender {
? ?// 用xib拖拽一個(gè)UIImageView(erweima)
? ? // 生成二維碼
? ? UIImage *img = [QRCodeGenerator qrImageForString:content.text imageSize:_erweima.frame.size.width? ? ];
? ? // 將生成的二維碼賦值給圖片框
? _erweima.image= img;
}