关于几个主流语音SDK的接入问题
这两周都在忙着游戏上线还有接入游戏语音,两周分别接了腾讯语音和百度语音!!!
关于腾讯语音的一些问题
由于发现腾讯语音的在录完音频后的数据是编过码的所以出现了一些问题:
*不能解码(腾讯方不提供解码算法,能理解),所以导致不能以MP3原有的格式数据传到服务器
*版本兼容问题 因为游戏已经上线所以旧的语音数据可以说不能再播放了
其实不能解码的问题已经解决,可以将pcm数据传给服务器 在客户端接受后通过腾讯的播放接口来播放编过码的数据(而且验证了一下离线也能播放的)
但兼容问题就不行所以放弃了腾讯语音的接入(上上周的工作白费),转投接入百度语音!!!
关于百度语音的一些问题
由于可以真机调试所以提高了工作效率!!!
关于接入百度语音的一些思考:

由于之前接的平台是讯飞所以为保证假设接完百度后如果出错,还有讯飞这条腿可以抱住,所以在lua层加了开关(在通信层加了选择判断)
这样就可以实现切换了!!!
Android遇到的问题:
主要还是遇到某些接口必须在对应线程调用,比如在监听识别时需要将接口在android主UI线程做调用在回调时(游戏使用cocos2dx开发)需要在GL线程做回调
避免崩溃!!!
//调用监听在主ui线程
Cocos2dxActivity _mainActivity = (Cocos2dxActivity)Cocos2dxActivity.getContext();
_mainActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
// 每次启动录音时设置录音参数
m_yyRet = "";
m_isListening = true;
Intent it = setRecordParm();
speechRecognizer.startListening(it);
}
});
//回调在GL线程
Cocos2dxActivity _mainActivity = (Cocos2dxActivity)Cocos2dxActivity.getContext();
_mainActivity.runOnGLThread(new Runnable() {
@Override
public void run() {
BDSpeechEngineAndroid.nativeOnSpeechEndOfSpeech(ret, s_SpeechSavePath);
}
});
IOS遇到的问题:
* 对oc的代码的不熟悉导致NSData在解析完后是一个NSArray类型 我用NSString 直接去赋值导致一直报错
* 就是IOS不能指定对应的pcm文件保存路径所以要保存音频格式需要在回调是做一个数据的append等完成是将数据保存至指定路径
* 就是开始识别后到识别结束游戏声音没有了我还以为自己出了bug,后来看百度官方的解答(由于对底层的音频逻辑不熟,这个问题暂时还没解决):

每周都写一篇总结一下这周的工作,还是挺好的!!
关于几个主流语音SDK的接入问题的更多相关文章
- Android 讯飞语音听写SDK快速接入(附空指针解决和修改对话框文字方法)
1.账号准备工作 首先要有一个讯飞的账号啦,为后面申请APPID.APPKey等东西做准备.顺带一提:讯飞对不同认证类型用户开 放的SDK的使用次数是有不同的,详情如下图. 账号申请完成后,需要去你自 ...
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo将百度语音SDK(其中一部分功能)和自定义的UI对话框封装到一个module中,便于后续的SDK版本更新以及调用. 本De ...
- U8SDK——游戏接入SDK(只接入抽象框架)
上一篇文章我们说了整个U8 SDK抽象成的设计,那这篇文章,我们就来验证一下,他是否如我们期待的那样,简单灵活. 正如之前所说,对于每个游戏,只需要接入抽象层,而每个渠道SDK的接入,就是该抽象层的一 ...
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.8.1)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 上一篇集成的是V3.0.7.3版本的SDK<BaiduSpeechDemo[百度语音SDK集成](基于v3.0.7.3)> ...
- 继《关于讯飞语音SDK开发学习》之打包过程中遇到小问题
关于讯飞语音SDK开发学习 使用vs自带打包,具体怎么操作就不说了,网上关于这方面的资料挺多的.例如:winform 打包部署,VS2010程序打包操作(超详细的),关键是桌面上创建快捷方式中的&qu ...
- 关于讯飞语音SDK开发学习
前奏,浑浑噩噩已经工作一年多,这一年多收获还是挺多的.逛园子应该有两年多了,工作后基本上是天天都会来园子逛逛,园子 里还是有很多牛人写了一些不错的博客,帮我解决很多问题.但是一直没写过博客,归根到底一 ...
- 接入百度语音SDK的步骤
1.导入依赖库 SystemConfiguration.framework AudioToolbox.framework UIkit.framework AVFoundation.framework ...
- 讯飞语音SDK Android平台使用
1. 支持功能介绍: 2. Android API主要业务接口和流程介绍 -------------------------------------------------------- 工程代码: ...
- QQ登录-第三方SDK的接入总结(搜索 qq互联)
由于项目的需要,使用了[QQ登录]SDK 的相关功能! 1.集成[QQ登录]SDK [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...
- vmware里面的名词 vSphere、vCenter Server、ESXI、vSphere Client
vmware里面的名词 vSphere.vCenter Server.ESXI.vSphere Client vSphere.vCenter Server.ESXI.vSphere Client VS ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- ABP文档 - 导航
文档目录 本节内容: 创建菜单 注册导航供应器 显示菜单 每个web应用都有一些菜单用来在页面/屏幕之间导航,ABP提供了一个通用的基础框架创建并显示菜单给用户. 创建菜单 一个应用可能由不同模块组成 ...
- iOS逆向工程之Theos
如果你对iOS逆向工程有所了解,那么你对Tweak并不陌生.那么由Tweak我们又会引出Theos, 那么什么是Theos呢,简单一句话,Theos是一个越狱开发工具包,Theos是越狱开发工具的首先 ...
- 使用蓝灯后,IE浏览器以及内置IE浏览器的程序不能使用的解决方案
使用完蓝灯后,每次使用IE浏览器都不能正常使用,于是有了下面的这个方案 1.通过Win+R 打开注册表编辑器(regedit) 进入目录 HKEY_CURRENT_USER \ Software \ ...
- Struts2入门(五)——OGNL和标签库
一.前言 OGNL和标签库的作用,粗暴一点说,就是减少在JSP页面中出现java代码,利于维护. 1.1.OGNL 1.1.1.什么是OGNL? OGNL(Object-Graph Navigatio ...
- Akka.NET v1.0 已发布,支持Mono
Akka.NET 是Java/Scala 流行框架Akka的一个 .NET 开源移植.可用于构建高并发,分布式和容错事件驱动的应用在 .NET 和 Mono 平台之上.Akka.NET 经过一年多的努 ...
- 【腾讯优测干货分享】安卓专项测试之GPU测试探索
本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...
- Vue.js——vue-resource全攻略
概述 上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用,并实现了一个简单的跨域CURD示例.Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的D ...