美文网首页
IOS百度语音及二维码生成

IOS百度语音及二维码生成

作者: 薛世宇 | 来源:发表于2018-05-20 20:49 被阅读0次

第一步:导入第三方

1.Baidu-Voice-SDK-iOS-1.6.2(百度语音)

2.JSONKit

3.libqrencode(二维码生成)

第二步:添加依赖库

1.CoreGraphics.framework

2.CFNetwork.framework

3.CoreLocation.framework

4.CoreText.framework

5.QuartzCore.framework

6.Security.framework

7.libz.tbd

8.AudioToolbox.framework

9.SystemConfiguration.framework

10.AVFoundation.framework

11.CoreTelephony.framework

12.GLKit.framework

13.libBDVoiceRecognitionClient.a

第三步:关闭ARC

Bulid Phases —> JSONKit.m

-fno-objc-arc

第四步:修改其他的连接器标志

Bulid Settings —> Other Linker Flags

-ObjC

第五步:导入头文件

#import "BDRecognizerViewController.h"

#import "BDRecognizerViewDelegate.h"

#import "BDVoiceRecognitionClient.h"

#import “QRCodeGenerator.h"

第六步:代码

@interface ViewController (){

    //语音界面

    BDRecognizerViewController *bdrv;

    NSMutableData *allData;

    //参数设置 key 秘钥

    BDRecognizerViewParamsObject *bdvp;

    UILabel *label;

}

@end

@implementation ViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    //Lable初始化

    label = [[UILabel alloc]initWithFrame:CGRectMake(50,100,300, 50)];

    label.backgroundColor = [UIColor blueColor];

    [self.view addSubview:label];

    //这里用一个button来实现

    // 点击说话

    UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    b.frame = CGRectMake(50, 200, 100, 30);

    [b setTitle:@"点击说话" forState:UIControlStateNormal];

    [b addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:b];

    // 点击清除

    UIButton *bu = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    bu.frame = CGRectMake(250, 200, 100, 30);

    [bu setTitle:@"点击清除" forState:UIControlStateNormal];

    [bu addTarget:self action:@selector(qingchu) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:bu];

    // 点击生成二维码

    UIButton *but = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    but.frame = CGRectMake(120, 500, 150, 30);

    [but setTitle:@"点击生成二维码" forState:UIControlStateNormal];

    [but addTarget:self action:@selector(erweima) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:but];

    //主题设置

    BDTheme *me = [BDTheme lightGreenTheme];

    bdrv = [[BDRecognizerViewController alloc]initWithOrigin:CGPointMake(20, 180) withTheme:me];

    //全屏幕

    bdrv.enableFullScreenMode = YES;

    bdrv.delegate = self;

    bdvp = [[BDRecognizerViewParamsObject alloc]init];

    //bdvp.productID 不用设置

    bdvp.apiKey = @"ANQLQINhgf2TL0gVP5xhNCxm";

    bdvp.secretKey = @"c3d5f5f8ac5478e87802431389b2cba7";

}

//点击说话

-(void)click{

    allData = [[NSMutableData alloc]init];

    [bdrv startWithParams:bdvp];

}

// 点击清除

-(void)qingchu{

    label.text = nil;

}

// 点击生成二维码

-(void)erweima{

    UIImageView *imgV = [[UIImageView alloc]initWithFrame:CGRectMake(120, 280, 200, 200)];

    imgV.backgroundColor = [UIColor purpleColor];

    [self.view addSubview:imgV];

    // 生成二维码

    UIImage *img = [QRCodeGenerator qrImageForString:label.text imageSize:imgV.frame.size.width];

    // 把生成的二维码展示在图像框上

    imgV.image = img;

}

/**

* @brief 录音数据返回

* @param recordData 录音数据

* @param sampleRate 采样率

*/

- (void)onRecordDataArrived:(NSData *)recordData sampleRate:(int)sampleRate{

    [allData appendData:recordData];

}

//此方法是将语音传递到lable上

- (void)onPartialResults:(NSString *)results

{

    label.text = results;

}

相关文章

网友评论

      本文标题:IOS百度语音及二维码生成

      本文链接:https://www.haomeiwen.com/subject/mnotjftx.html