天天看点

百度语音

百度语音
           

Privacy - Microphone Usage Description

添加 库

#import “ViewController.h”

百度语音

#import “BDSASRDefines.h”

#import “BDSASRParameters.h”

#import “BDSWakeupDefines.h”

#import “BDSWakeupParameters.h”

#import “BDSEventManager.h”

#import “BDRecognizerViewController.h”

#import “fcntl.h”

//#error “请在官网新建应用,配置包名,并在此填写应用的 api key, secret key, appid(即appcode)”

const NSString* API_KEY = @“YOU KEY”; //你的ke y

const NSString* SECRET_KEY = @“YOU SECRET”;//你的secret

const NSString* APP_ID = @“YOU ID”;//你的Id

@interface ViewController ()

// 语音识别管理器

@property (strong, nonatomic) BDSEventManager *asrEventManager;

// 包含默认视图的语音识别视图控制器

@property(nonatomic, strong) BDRecognizerViewController *recognizerViewController;

/// 文本输入框

@property (weak, nonatomic) IBOutlet UITextField *inputTF;

/// 语音识别触发

  • (IBAction)voiceRecognize:(id)sender;

@end

@implementation ViewController

  • (void)viewDidLoad {

    [super viewDidLoad];

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

    // 实例化语音识别管理器对象

    self.asrEventManager = [BDSEventManager createEventManagerWithName:BDS_ASR_NAME];

    //设置DEBUG_LOG的级别

    [self.asrEventManager setParameter:@(EVRDebugLogLevelTrace) forKey:BDS_ASR_DEBUG_LOG_LEVEL];

    //配置API_KEY 和 SECRET_KEY 和 APP_ID

    [self.asrEventManager setParameter:@[API_KEY, SECRET_KEY] forKey:BDS_ASR_API_SECRET_KEYS];

    [self.asrEventManager setParameter:APP_ID forKey:BDS_ASR_OFFLINE_APP_CODE];

    //配置端点检测(二选一)

    NSString *modelVAD_filepath = [[NSBundle mainBundle] pathForResource:@“bds_easr_basic_model” ofType:@“dat”];

    [self.asrEventManager setParameter:modelVAD_filepath forKey:BDS_ASR_MODEL_VAD_DAT_FILE];

    [self.asrEventManager setParameter:@(YES) forKey:BDS_ASR_ENABLE_MODEL_VAD];

    // ---- 语义与标点 -----

    // ---- 开启语义理解 -----

    [self.asrEventManager setParameter:@(YES) forKey:BDS_ASR_ENABLE_NLU];

    [self.asrEventManager setParameter:@“1536” forKey:BDS_ASR_PRODUCT_ID];

    }

  • (IBAction)voiceRecognize:(id)sender {

    BDRecognizerViewParamsObject *paramsObject = [[BDRecognizerViewParamsObject alloc] init];

    paramsObject.isShowTipAfterSilence = YES;

    paramsObject.isShowHelpButtonWhenSilence = NO;

    paramsObject.tipsTitle = @“您可以这样问”;

    paramsObject.tipsList = [NSArray arrayWithObjects:@“我要吃饭”, @“我要买电影票”, @“我要订酒店”, nil];

    paramsObject.waitTime2ShowTip = 0.5;

    paramsObject.isHidePleaseSpeakSection = YES;

    paramsObject.disableCarousel = YES;

    self.recognizerViewController = [[BDRecognizerViewController alloc] initRecognizerViewControllerWithOrigin:CGPointMake(9, 80)

    theme:nil

    enableFullScreen:YES

    paramsObject:paramsObject

    delegate:self];

    [self.recognizerViewController startVoiceRecognition];

    }

#pragma mark ---------- BD

// 获取到识别结果所触发的回调方法

  • (void)onEndWithViews:(BDRecognizerViewController *)aBDRecognizerViewController withResult:(id)aResult

    {

    NSDictionary *resultDic = (NSDictionary *)aResult;

    NSArray *arr = resultDic[@“results_recognition”];

    NSString *res = [arr firstObject];

    self.inputTF.text = res;

    }

  • (void)onTipsShow {

    NSLog(@“onTipsShow”);

    [self.recognizerViewController cancelVoiceRecognition];

    }

-(void)onError:(int)errClass errCode:(int)errCode errDescription:(NSString *)errDescription {

NSLog(@“onError”);

[self.recognizerViewController cancelVoiceRecognition];

}