百度语音
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];
}