android关于讯飞语音包的开发
这个是一个定制库的例子。
用法及注意事项:
1. 将语音库Aisound.so,放在:
libs\armeabi\libAisound.so。
注意:armeabi目录下的库,都要加上lib的前缀,为了方便调用。
2. resource.irf 文件:
先将它打包到apk里,放在如下路径。
\res\raw\resource.irf
然后在程序运行的时候,读取并解压到软件目录,拿到路径及文件名。
3.使用
3.1 初始化库
System.loadLibrary("Aisound");
注意:这个("Aisound");指的就是那个libAisound.so。
3.2 生成resource.irf到本地存储
代码:
try {
InputStream stream = getResources().openRawResource(R.raw.resource);
OutputStream out = openFileOutput("resource.irf",
Activity.MODE_PRIVATE);
// OutputStream out = openFileOutput("/sdcard/Resource.irf", Activity.MODE_PRIVATE);
byte buf[] = new byte[16384];
int numread = 0;
do {
numread = stream.read(buf);
if (numread <= 0) {
break;
} else {
out.write(buf, 0, numread);
}
} while (true);
out.close();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
}
注意标红的部分,这个文件直接写到:/data/data/xxxxxx/files/resource.irf
3.3 初始化引擎
Tts.JniCreate("/data/data/xxxxxx/files/resource.irf");
Tts.JniSetParam(256, 1);
Tts.JniSetParam(1280, 20);
请注意标红,这个是软件的路径。也就是我需要把resource.irf文件写到这个路径下。当然也可以写到sd卡上或存储上。
3.4 使用
不说了,自己封装吧!
备注:
这里要说的问题:
1.关于库的调用,由于封装的时候制定了包名和类名,所以在调用如下接口时
public static native int JniGetVersion();
public static native int JniCreate(String resFilename);
public static native int JniDestory();
public static native int JniStop();
public static native int JniSpeak(String text);
public static native int JniSetParam(int paramId,int value);
public static native int JniGetParam(int paramId);
public static native int JniIsPlaying();
public static native boolean JniIsCreated();
必须使用默认编译的包名和类名。如果想改类名,那么对不起,要重新编接口函数哦! 当时我大意了,浪费了好多时间。
2.关于.irf文件使用
目前接口是使用文件路径,所以要将他打包,然后解压到本地存储。
还可以直接修改接口,使其直接使用流的方式,我看了,好像是char型
为了以后版本库可以更新,我没有去判断文件是否存在,而是程序每次启动都去生成文件。我不知道怎么去判断是新的库,利用文件大小?
android关于讯飞语音包的开发相关推荐
- Android之讯飞语音-文字转语音(不用另外安装语音合成包apk)遇到的问题
Android之讯飞语音-文字转语音 <!-- 文章内容 --><div data-note-content="" class="show-conten ...
- 讯飞语音包实现Android语音识别
1.先要到讯飞官网去注册并且获取相对应的appid,申请地址:http://www.xfyun.cn/ 2 将开发工具包中libs目录下的Msc.jar和armeabi复制到Android工程的lib ...
- 讯飞语音包实现Android语音合成
1.先要到讯飞官网去注册并且获取相对应的appid,申请地址:http://www.xfyun.cn/ 2 将开发工具包中libs目录下的Msc.jar和armeabi复制到Android工程的lib ...
- Android Studio讯飞语音实现语音转文字
1.在官网上下载SDK https://www.xfyun.cn/ 2.在lisbs libs里面的两个在add: 3.jinLibs下面: 4.主页面 public class MainActivi ...
- 【从零之三(更)】自定义类中调用讯飞语音包错误解决办法
原文:http://blog.csdn.net/monkeyduck/article/details/24302655 在科大讯飞语音包的Mscdemo中它的方法都是写在Activity中的,这样其实 ...
- Android基于讯飞语音SDK实现语音识别
一.准备工作 1.你需要android手机应用开发基础 2.科大讯飞语音识别SDK android版 3.科大讯飞语音识别开发API文档 4.android手机 关于科大讯飞SDK及API文档,请到科 ...
- 百度语音android 集成,Android集成讯飞语音、百度语音、阿里语音识别
Python list嵌套 三维数组 cores_multicast = [[] for i in xrange(64)] temp_list = [0, 1] temp_list2 = [0, 3] ...
- 讯飞语音 Great!!!
http://www.xfyun.cn/doccenter/awd 开发集成 > Android平台 目录[隐藏] 1 概述 2 预备工作 3 语音听写 4 语音识别 5 语音合成 6 语义理解 ...
- Android 讯飞语音开发
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前段时间火了一个很牛的讯飞语音,去看官方文档,瞬间蒙逼,官方是用的eclipse,我用的Android Studio.好了,能上代 ...
最新文章
- 乾颐堂安德HCIE课程3-OSPF的精华1、2类LSA,区域间的3类LSA和过滤策略
- .NET Core HttpClient请求异常思考
- 使用ListView控件展示数据
- 投递简历得不到回复,并不是你的简历不好,可能是这个原因
- python环境变量配置_Python零基础入门到年薪二十万-1.1节: 在windows中安装Python
- 执行DBMS_METADATA.get_ddl报ORA-39212的解决方法
- vue2项目中全局引入scss变量
- python中国大学慕课平台_乐学Python,中国大学MOOC(慕课)答案公众号搜题
- BZOJ2794/POI2012 Cloakroom
- Tomcat运行黄色叉号
- 初学python类必须要知道的三个基础知识(入门理解)
- iOS上架appstore详细教材
- iOS8 苹果自带的毛玻璃效果
- Druid基本概念及架构介绍
- xp系统服务器的ip地址怎么查,xp怎么配置ip地址|xp系统怎么样查看自己的ip地址...
- java.util.Date的getYear()
- 3518E EMMC驱动
- mysql fulltext match_使用Mysql全文搜索Full-Text(fulltext和match...against)_MySQL
- 西安西北大学计算机排名,全国计算机排名真是这样吗?
- 原生canvas游戏性能优化