创建语音应用及sdk集成
讯飞开放平台网址
1.注册讯飞账号,我以前注册过就直接登录了,创建应用(注:创建过的应用不能被删除)
2.创建应用名称规范: 名称_平台类型
3.这里显示你的APPID,应用的唯一标示
4.创建完成之后现在并没什么卵用,还需要开通相应服务
5.服务全部开通好之后,选择sdk下载
常用的服务
-语音听写:将连续语音快速识别为文字
-语音合成(离线):将文字信息转化为声音信息
-命令词识别(离线):命令词精准识别,语音交互,一触即应。
-语音唤醒(基础型、增强型):说出设定好的语音指令(唤醒词),让处于休眠状态下的设备进入到等待指令状态无需触碰,直接进入
-人脸识别:人脸验证、在线/离线人脸检测和人脸关键点检测等功能
-语音+:离线的语音听写、合成
6.可按需求选择是单个sdk下载还是组合sdk
7.向下拖,下面是支持的平台与应用,下载sdk
8.
9.下载下来的压缩包包名由你的应用名(无卵用)和appid(重要)组成
10.解压后目录结构分析
assets:资产目录,main分支下创建assets
doc:文档主要看看MSC Develop Manual for Android就行了
libs:玩AS的小伙伴需要将so库放在jniLibs文件夹中(main分支下)
sample:有三个小demo,可以导入到项目中去简单的看一下
-FaceDemo是人脸识别的Demo
-IsvDemo是声纹识别的Demo
-SpeechDemo是基础语音的Demo
11.好了,万事具备,集成到项目中去吧,android项目名不必和创建科大讯飞应用名相同
12.初始化操作.
1. 导入so库
七个so库已经支持市面上98%的手机
armeabi目录下libmsc.so只支持市面上百分之八十的手机,如果不需要做适配的话导入这一个so库也是极好的
2. 这是很重要并且是必须的一步操作,实际上初始化的操作是异步进行的,如果初始化还没有完成你就开始调用了语音识别,是会出现很多问题的,建议在你程序刚刚启动的时候调用
public class SpeechApp extends Application {
@Override
public void onCreate() {
// 应用程序入口处调用,避免手机内存过小,杀死后台进程后通过历史intent进入Activity造成SpeechUtility对象为null
// 如在Application中调用初始化,需要在Mainifest中注册该Applicaiton
// 注意:此接口在非主进程调用会返回null对象,如需在非主进程使用语音功能,请增加参数:SpeechConstant.FORCE_LOGIN+"=true"
// 参数间使用半角“,”分隔。
// 设置你申请的应用appid,请勿在'='与appid之间添加空格及空转义符
// 注意: appid 必须和下载的SDK保持一致,否则会出现10407错误
SpeechUtility.createUtility(SpeechApp.this, "appid=" + getString(R.string.app_id));
// 以下语句用于设置日志开关(默认开启),设置成false时关闭语音云SDK日志打印
// Setting.setShowLog(false);
super.onCreate();
}
}
注意
下载的SDK中so库资源文件和appid是一一对应的,绝对不能混用。每个appid每天可以免费使用500次语音识别。唤醒词试用期35天、3个装机量。试用版的离线包,试用35天,3个装机量。
功能性的开发会在后面的博客中具体介绍,有问题欢迎探讨