1、导入百度语音第三方SDK:Baidu-Voice-SDK-iOS-1.6.2
导入识别二维码第三方SDK:libqrencode
在Build Settings中找到Other Linker Flags在后面添加上-ObjC(注意大小写)
2、导入依赖库
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、导入头文件并定义成员变量
// 在ViewController里
#import "BDRecognizerViewController.h"
#import "BDRecognizerViewDelegate.h"
#import "BDVoiceRecognitionClient.h"
#import "QRCodeGenerator.h"
// 定义成员变量
BDRecognizerViewController *bdrvc;
BDRecognizerViewParamsObject *bdrvpo;
4、语音识别
// 在viewDidLoad里
BDTheme *me = [BDTheme lightGreenTheme];
bdrvc = [[BDRecognizerViewController alloc]initWithOrigin:CGPointMake(20, 180) withTheme:me];
bdrvc.enableFullScreenMode = YES;// 设置全屏幕
bdrvc.delegate = self;// 遵守代理协议
bdrvpo = [[BDRecognizerViewParamsObject alloc]init];// 初始化
bdrvpo.apiKey = @"apiKey";// 百度语音的apiKey
bdrvpo.secretKey = @"secretKey";// 百度语音的secretKey
// 用xib的方法拉一个按钮方法,定义响应语音识别的方法
- (IBAction)recognition:(id)sender {
NSMutableData *allData = [[NSMutableData alloc]init];// 用NSMutableData接收语音识别出来的文字
[bdrvc startWithParams:bdrvpo];// 开始识别
}
/**
* @brief 返回中间识别结果
*
* @param results
* 中间识别结果
*/
- (void)onPartialResults:(NSString*)results{
// 用xib拖拽一个UITextView(content)
content.text = results;// 将识别出来的结果显示在UITextView上面
}
// 用xib的方法拉一个按钮方法,定义响应清除语音内容的方法
- (IBAction)clean:(id)sender {
content.text = nil;// 清除UITextView上面的文字
}
5、生成二维码
- (IBAction)generate:(id)sender {
// 用xib拖拽一个UIImageView(erweima)
// 生成二维码
UIImage *img = [QRCodeGenerator qrImageForString:content.text imageSize:_erweima.frame.size.width ];
// 将生成的二维码赋值给图片框
_erweima.image= img;
}
网友评论