官網(wǎng)文檔 前期的配置?http://ai.baidu.com/docs#/ASR-iOS-SDK/top
#import "ViewController.h"
#import "BDSEventManager.h"
#import "BDSASRDefines.h"
#import "BDSASRParameters.h"
#import "BDTheme.h"
#import "BDRecognizerViewParamsObject.h"
#import "BDRecognizerViewController.h"
#import "BDRecognizerViewDelegate.h"
const NSString* API_KEY = @"BmezSBt9Z8BGw1yGZtiF4fLR";
const NSString* SECRET_KEY = @"GQ4WoULV8Afh1hIGVwTu8rE705u7Sy9B";
constNSString* APP_ID =@"15204639";
@interface ViewController ()<BDRecognizerViewDelegate>
//這個是寶貝
@property (weak, nonatomic) IBOutlet UITextField *inputTF;
- (IBAction)voiceRecognize:(id)sender;
@property (strong, nonatomic) BDSEventManager *asrEventManager;
@property(nonatomic,strong)BDRecognizerViewController*recognizerViewController;
@end
@implementation ViewController
- (void)viewDidLoad {
? ? [super viewDidLoad];
? ? 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 configDNNMFE];
? ? //? ? [self.asrEventManager setParameter:@"15361" forKey:BDS_ASR_PRODUCT_ID];
? ? // ---- 語義與標點 -----
? ? [self.asrEventManager setParameter:@(YES) forKey:BDS_ASR_ENABLE_NLU];
? ? [self.asrEventManager setParameter:@"1536" forKey:BDS_ASR_PRODUCT_ID];
? ? //? ? [self enablePunctuation];
? ? // ------------------------
}
- (IBAction)voiceRecognize:(id)sender {
? ? [self.asrEventManager setParameter:@"" forKey:BDS_ASR_AUDIO_FILE_PATH];
? ? BDRecognizerViewParamsObject *paramsObject = [[BDRecognizerViewParamsObject alloc] init];
? ? paramsObject.isShowTipAfterSilence = YES;
? ? paramsObject.isShowHelpButtonWhenSilence = NO;
? ? paramsObject.tipsTitle=@"您可以這樣問";
? ? paramsObject.tipsList= [NSArrayarrayWithObjects:@"我要吃飯",@"我要買電影票",@"我要訂酒店",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 =======? BDRecognizerViewDelegate? =============
- (void)onEndWithViews:(BDRecognizerViewController*)aBDRecognizerViewController withResult:(id)aResult{
? ? NSLog(@"%@",aResult);
? ? NSString* res =[aResult[@"results_recognition"]firstObject];
? ? dispatch_async(dispatch_get_main_queue(), ^{
? ? ? ? self.inputTF.text=res;
? ? });
}
- (void)onError:(int)errClass errCode:(int)errCode errDescription:(NSString*)errDescription{
? ? NSLog(@"%@",errDescription);
}
@end