iOS第三方语音-讯飞语音

官方网站:http://www.xfyun.cn/

注册还要绑定微信,坑啊,识别率感觉没得微信语音好,但是微信语音审核一直不过,研究下这个

1.下载sdk,主要就下面几个文件,我主要用的是语音识别

2.导入相关的库

3.在官网上注册一个应用,得到key,这里用的我注册的key

AppDelegate中导入头文件

#import 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中加入

NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",@"55d3e4d6"];[IFlySpeechUtility createUtility:initString];

4.主要分为有UI,和无UI两种IFlySpeechRecognizer(无UI),IFlyRecognizerView(有UI)

无UI代码

 _iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance]; //设置听写模式[_iFlySpeechRecognizer setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]];[_iFlySpeechRecognizer setParameter: @"iat" forKey: [IFlySpeechConstant IFLY_DOMAIN]];[_iFlySpeechRecognizer setParameter:@"asrview.pcm" forKey:[IFlySpeechConstant ASR_AUDIO_PATH]];_iFlySpeechRecognizer.delegate = self;
#pragma mark - 事件监听
//录音
- (IBAction)startButtonPressed:(UIButton *)sender {[_iFlySpeechRecognizer startListening];
//    [_iflyRecognizerView start];
}//停止
- (IBAction)stopButtonPressed:(UIButton *)sender {[_iFlySpeechRecognizer stopListening];
//    [_iflyRecognizerView start];
}
#pragma mark - IFlySpeechRecognizerDelegate- (void)onResults:(NSArray *)results isLast:(BOOL)isLast {NSMutableString *resultString = [[NSMutableString alloc] init];NSDictionary *dic = results[0];for (NSString *key in dic) {[resultString appendFormat:@"%@",key];}NSString *strResult = nil;strResult =[NSString stringWithFormat:@"%@",resultString];NSString * resultFromJson =  [ISRDataHelper stringFromJson:resultString];if (!isLast){_label.text = resultFromJson;}NSLog(@"%@",resultString);NSLog(@"resultFromJson=%@",resultFromJson);
}- (void)onEndOfSpeech {NSLog(@"停止录音");
}- (void)onError:(IFlySpeechError *)errorCode {NSLog(@"%d",errorCode.errorCode);NSLog(@"%@",[errorCode errorDesc]);
}

有UI代码

if (_iflyRecognizerView == nil) {//UI显示居中_iflyRecognizerView= [[IFlyRecognizerView alloc] initWithCenter:self.view.center];[_iflyRecognizerView setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];//设置听写模式[_iflyRecognizerView setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]];}_iflyRecognizerView.delegate = self;
#pragma mark - 事件监听
//录音
- (IBAction)startButtonPressed:(UIButton *)sender {
//     [_iFlySpeechRecognizer startListening];
    [_iflyRecognizerView start];
}
#pragma mark - 有界面的- (void)onResult:(NSArray *)resultArray isLast:(BOOL) isLast {NSMutableString *resultString = [[NSMutableString alloc] init];NSDictionary *dic = resultArray[0];for (NSString *key in dic) {[resultString appendFormat:@"%@",key];}NSString *strResult = nil;strResult =[NSString stringWithFormat:@"%@",resultString];NSString * resultFromJson =  [ISRDataHelper stringFromJson:resultString];if (!isLast){_label.text = resultFromJson;}NSLog(@"%@",resultString);NSLog(@"resultFromJson=%@",resultFromJson);
}

其中用了一个解析返回的数据的类,可以看讯飞的demo,下面是我写的demo

百度云demo下载链接:http://pan.baidu.com/s/1nt9thKd

补:压缩包的体积好大,郁闷

转载于:https://www.cnblogs.com/hxwj/p/4741841.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部