关于几个主流语音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 ...
随机推荐
- 细说WebSocket - Node篇
在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...
- EntityFramework.Extended 支持 MySql
EntityFramework.Extended 默认不支持 MySql,需要配置如下代码: [DbConfigurationType(typeof(DbContextConfiguration))] ...
- 【云知道】LoadRunner 录制问题集锦
关键词:各路录制小白汇集于此 虽然知道君对录制不感冒,但总是看到扎堆的人说这些问题,忍不住要站出来了. 百度虽好,帮助了很多小白,但关键是百度并没有排除错误内容,经过历史的几年传播,错的都快变对的了, ...
- JAVA 分页工具类及其使用
Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...
- js刷新页面方法大全
如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, ...
- unity3d导出到IOS程序下 集成unity3dAR功能
转载自: 来自AR学院(www.arvrschool.com),原文地址为:http://www.arvrschool.com/index.php?c=post&a=modify&ti ...
- POJ2774 Long Long Message [后缀数组]
Long Long Message Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 29277 Accepted: 11 ...
- 第13章 Linux日志管理
1. 日志管理 (1)简介 在CentOS 6.x中日志服务己经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其 ...
- 机器学习之sklearn——EM
GMM计算更新∑k时,转置符号T应该放在倒数第二项(这样计算出来结果才是一个协方差矩阵) from sklearn.mixture import GMM GMM中score_samples函数第 ...
- [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串
Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...