百度在线语音识别接入经验
2015-07-20 15:46
375 查看
由于最近项目需要语音识别,所以去接了一下语音识别的SDK。
分别接了讯飞的语音识别,和百度的。至于优缺点嘛,感觉讯飞的实时识别速度比较快,然后百度的是一次性上传,如果你一次识别的语音太多,就会识别比较慢,特别是在线识别。当然了百度的优点就是可以自己控制语音断点,讯飞的暂时还没有找到这个方法(有找到的麻烦告诉我)。
当然了,最后选择百度的原因在于,讯飞的审核,要求app小于50M。好吧!我的包没法变小了!
进入正题,接入的方法就不说了,按照官方的文档,肯定是可以接上的!
现在说说我遇到的几个坑,主要是IOS下面的
1.语音识别后应用的声音变小了
解决方法:在语音识别之后将Audiosession设置回来,百度语音识别的时候讲Audiosession设置为了录音状态,代码如下:
2.在IOS8之后,使用语音识别之后,整个应用静音。
解决方法:在百度语音中有这样一个接口:
然后,其中还碰到了一些其他的问题,不过都是小事,相信大家都能搞定,这里就不再详细的说了。
分别接了讯飞的语音识别,和百度的。至于优缺点嘛,感觉讯飞的实时识别速度比较快,然后百度的是一次性上传,如果你一次识别的语音太多,就会识别比较慢,特别是在线识别。当然了百度的优点就是可以自己控制语音断点,讯飞的暂时还没有找到这个方法(有找到的麻烦告诉我)。
当然了,最后选择百度的原因在于,讯飞的审核,要求app小于50M。好吧!我的包没法变小了!
进入正题,接入的方法就不说了,按照官方的文档,肯定是可以接上的!
现在说说我遇到的几个坑,主要是IOS下面的
1.语音识别后应用的声音变小了
解决方法:在语音识别之后将Audiosession设置回来,百度语音识别的时候讲Audiosession设置为了录音状态,代码如下:
//将声音模式调回正常状态 AVAudioSession *audioSession = [AVAudioSession sharedInstance]; NSError *err = nil; [audioSession setCategory :AVAudioSessionCategoryAmbient error:&err]; if(err) { // NSOSStatusErrorDomain NSLog(@"audioSession: %@ code = %d %@", [err domain], [err code], [[err userInfo] description]); return; }
2.在IOS8之后,使用语音识别之后,整个应用静音。
解决方法:在百度语音中有这样一个接口:
//- - - - - - - - - - - - - - - -功能设置- - - - - - - - - - - - - - - - - - - - // 定制功能 // 定制语义解析功能请传入key=BDVR_CONFIG_KEY_NEED_NLU,如果开启此功能,将返回带语义的json串,含义详见开发文档说明 #define BDVR_CONFIG_KEY_NEED_NLU @"nlu" // 定制通讯录识别功能请传入key=BDVR_CONFIG_KEY_ENABLE_CONTACTS,如果开启此功能,将优先返回通讯录识别结果 #define BDVR_CONFIG_KEY_ENABLE_CONTACTS @"enable_contacts" // 定制SDK是否对AudioSession进行操作,如果外部需要操作AudioSession,应当通过此接口禁止SDK对AudioSession进行操作 #define BDVR_CONFIG_KEY_DISABLE_AUDIO_SESSION_CONTROL @"disable_audio_session_control" - (void)setConfig:(NSString *)key withFlag:(BOOL)flag;我们使用最后一个,然后自己控制Audiosession,这样就可以解决这个问题。代码如下:
// 定制SDK是否对AudioSession进行操作,如果外部需要操作AudioSession,应当通过此接口禁止SDK对AudioSession进行操作 [[BDVoiceRecognitionClient sharedInstance] setConfig:BDVR_CONFIG_KEY_DISABLE_AUDIO_SESSION_CONTROL withFlag:true];
然后,其中还碰到了一些其他的问题,不过都是小事,相信大家都能搞定,这里就不再详细的说了。
相关文章推荐
- ul li a active jquery.cookie.js
- NOIP2012-普及组复赛-第一题-质因数分解
- 茅台高管年薪200多万
- zabbix监控系统的实际应用(客户端安装-基本应用设置-报警提醒篇)
- python的私有化
- 手机是如何泄密个人隐私的
- HMM MEMM CRF 区别 联系
- hibernate二级缓存ehcache.xml文件配置的几条心得
- 左侧显示信息选项卡的样式控制
- 4Sum
- 可伸缩Web架构与分布式系统2
- 深入集合框架之HashMap源码剖析
- POJ 2109 巧妙解法
- [Effective C++]让自己习惯C++
- 免费下载,ShopNC电商平台系统(+手机版)
- 【阅读】《head first html5》第二章——javascript和DOM
- Android.mk详解
- python之发送邮件
- Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
- Java Method Overloading