iOS开发(第三方使用)——讯飞语音SDK接入
- 去到讯飞开放平台创建应用并添加服务
- 下载SDK,下载时需要选上项目的,必须选上相应的项目,不能用项目1下载的SDK和项目2的app ID结合使用(估计是讯飞绑定了,所以步骤1和步骤2也不能颠倒)
- 拷贝下载的SDK中的iflyMSC.framework到桌面,然后拖到工程去
选择刚刚拖进的iflyMSC.framework,show in finder,然后按照下图操作,双击右边部分,会弹出一个大框,把iflyMSC.framework所在的文件夹拖到大框里。
添加类库,如下图
在AppDelegate.m导入头文件iflyMSC/IFlyMSC.h 并添加一下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//讯飞NSString *initString = [[NSString alloc] initWithFormat:@"appid=%@",@"你的app ID"];[IFlySpeechUtility createUtility:initString];return YES;
}/*讯飞*/1. (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{[[IFlySpeechUtility getUtility] handleOpenURL:url];return YES;
}-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{return UIInterfaceOrientationMaskPortrait;
}
7.在下载的SDK里面找到下图的几个文件,并拖到工程
8.在你需要用到的控制器里面导入头文件,并设置代理IFlySpeechRecognizerDelegate
#import "iflyMSC/IFlySpeechRecognizerDelegate.h"
#import "iflyMSC/IFlySpeechRecognizer.h"
#import "iflyMSC/IFlyMSC.h"
#import "IATConfig.h"
#import "ISRDataHelper.h"
9.声明实例IFlySpeechRecognizer *_iFlySpeechRecognizer;在语音设别按钮添加以下代码
if(_iFlySpeechRecognizer == nil){[self initRecognizer];}[_iFlySpeechRecognizer cancel];//设置音频来源为麦克风[_iFlySpeechRecognizer setParameter:IFLY_AUDIO_SOURCE_MIC forKey:@"audio_source"];//设置听写结果格式为json[_iFlySpeechRecognizer setParameter:@"json" forKey:[IFlySpeechConstant RESULT_TYPE]];[_iFlySpeechRecognizer setDelegate:self];BOOL ret = [_iFlySpeechRecognizer startListening];if (ret) {NSLog(@"start");}else{NSLog(@"error");}
10.其中initRecognizer方法如下
-(void)initRecognizer
{//单例模式,无UI的实例if (_iFlySpeechRecognizer == nil) {_iFlySpeechRecognizer = [IFlySpeechRecognizer sharedInstance];[_iFlySpeechRecognizer setParameter:@"" forKey:[IFlySpeechConstant PARAMS]];//设置听写模式[_iFlySpeechRecognizer setParameter:@"iat" forKey:[IFlySpeechConstant IFLY_DOMAIN]];}_iFlySpeechRecognizer.delegate = self;if (_iFlySpeechRecognizer != nil) {IATConfig *instance = [IATConfig sharedInstance];//设置最长录音时间[_iFlySpeechRecognizer setParameter:instance.speechTimeout forKey:[IFlySpeechConstant SPEECH_TIMEOUT]];//设置后端点[_iFlySpeechRecognizer setParameter:instance.vadEos forKey:[IFlySpeechConstant VAD_EOS]];//设置前端点[_iFlySpeechRecognizer setParameter:instance.vadBos forKey:[IFlySpeechConstant VAD_BOS]];//网络等待时间[_iFlySpeechRecognizer setParameter:@"20000" forKey:[IFlySpeechConstant NET_TIMEOUT]];//设置采样率,推荐使用16K[_iFlySpeechRecognizer setParameter:instance.sampleRate forKey:[IFlySpeechConstant SAMPLE_RATE]];if ([instance.language isEqualToString:[IATConfig chinese]]) {//设置语言[_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];//设置方言[_iFlySpeechRecognizer setParameter:instance.accent forKey:[IFlySpeechConstant ACCENT]];}else if ([instance.language isEqualToString:[IATConfig english]]) {[_iFlySpeechRecognizer setParameter:instance.language forKey:[IFlySpeechConstant LANGUAGE]];}//0无标点返回[_iFlySpeechRecognizer setParameter:@"0" forKey:[IFlySpeechConstant ASR_PTT]];}
}
11.代理方法
- (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 * resultFromJson = [ISRDataHelper stringFromJson:resultString];NSLog(@"resultFromJson=%@",resultFromJson);
}
//识别会话错误返回
- (void)onError: (IFlySpeechError *) error
{//error.errorCode =0 听写正确 other 听写出错NSLog(@"code=%d",error.errorCode);if(error.errorCode!=0){//出错}
}
iOS开发交流群:301058503
iOS开发(第三方使用)——讯飞语音SDK接入相关推荐
- 关于讯飞语音SDK开发学习
前奏,浑浑噩噩已经工作一年多,这一年多收获还是挺多的.逛园子应该有两年多了,工作后基本上是天天都会来园子逛逛,园子 里还是有很多牛人写了一些不错的博客,帮我解决很多问题.但是一直没写过博客,归根到底一 ...
- Android 文字转语音使用讯飞语音SDK(eclipse版 无UI)
Android 文字转语音使用讯飞语音SDK(eclipse版) 1.下载SDK(地址:http://www.xfyun.cn/sdk/dispatcher)下载前会让你先创建应用,创建应用后会得到一 ...
- Android语音识别开发详解(基于讯飞语音SDK)
一.准备工作 1.你需要android手机应用开发基础 2.科大讯飞语音识别SDK android版 3.科大讯飞语音识别开发API文档 4.android手机 关于科大讯飞SDK及API文档,请到科 ...
- IOS开发--语音合成(讯飞接口)
IOS开发–语音播报 想要实现iOS语音播报,要使用讯飞/百度语音播报的第三方接口.我使用的是讯飞的语音合成接口. 登录注册讯飞平台,申请语音合成接口! 下载iOS开发所需sdk,sdk中包含语音开发 ...
- 讯飞语音SDK集成调试常见问题
问题一:启动录音失败 20006 这个问题是由于应用程序未获取到录音,语音等权限导致的. 可以将demo中manifest文件里的权限复制到自己的app程序里,一般都可以解决. 问题二:创建失败,请确 ...
- Android基于讯飞语音SDK实现语音识别
一.准备工作 1.你需要android手机应用开发基础 2.科大讯飞语音识别SDK android版 3.科大讯飞语音识别开发API文档 4.android手机 关于科大讯飞SDK及API文档,请到科 ...
- iphone之使用讯飞语音sdk实现语音识别功能
2.学习里面的demo简单实现了一个小的语音识别功能 先做一个简单demo,看看识别效果.注:语音识别必须联网. 所有接口必需在联网状态下才能正常使用. 效果图: #import #import &q ...
- iOS: 讯飞语音的使用
一.介绍: 讯飞语音做的相当不错,容错率达到90%多,如果需要做语音方面的功能,它绝对是一个不错的选择.讯飞语音的功能很多:语音听写.语音识别.语音合成等,但我们最常用的还是语音听写.讯飞语音中包含界 ...
- 【Demo】iOS平台上的讯飞语音识别语音合成开发
官方文档:http://www.xfyun.cn/doccenter/iOS 目前开放的服务: 准备工作 需要到讯飞官网注册一个开发账号,注册后登录并创建一个新的应用,添加需要的服务(语音听写.语音合 ...
最新文章
- Python脑电数据的Epoching处理
- java多线程阻塞队列_阻塞队列和多线程消费者,如何知道何时停止
- mongodb之配置
- Spring MVC:会话高级
- php mysql循环语句怎么写_mysql数据库循环语句该怎么写???
- 怎么把jad反编译放到Eclipse中
- 【HNOI2014】米特运输
- Security+ 学习笔记40 网络安全设备
- YTU 2553: 谁是赢家
- 搭建Wpf框架(1) —— 管理系统-Wpf客户端框架2.0(OA,聊天,定时任务)
- rest服务理解以及restful api
- C语言实现EEPROM程序读取24C02成功读取方案单片机用
- S102公路第I标段施工图设计--河北工程大学土木工程学院
- 关于Java观察者模式的一点思考
- html外联式怎么设置,笔记《三》-html引用css的三种方式-内联,嵌入,外联
- JavaEE | 集合2之Map
- Exploiting Sample Uncertainty for Domain Adaptive Person Re-Identification
- C语言·三角形已知三边求面积题
- 好多大鱼的国风火车站,却有满满的科技感
- LASSO回归与L1正则化 西瓜书