讯飞语音的合成有三种方式:
1.在线语音合成(免费)
2.离线使用讯飞语记合成(免费,需要在本地下载语记APP)
3.使用离线合成SDK(收费)
公司这次的需求是做一个听书的功能,就是将文字合成语音播放出来,综合考虑选择第一种和第二种方案。离线合成的SDK也太特么贵了,按装机量来算的,每台几块钱,我等屌丝还是不考虑了。(^__^)
由于官方文档有点零散,所以自己总结了一下集成步骤:
1.在官网上申请应用,获取对应的 appid,下载所需要对应的 SDK,这里我下载的是在线语音合成的 SDK。
2.将 SDK 中的 jar 包和 .so 库复制到项目当中,AndroidStudio 默认是没有 jniLibs 目录的我们要自己在 main 目录下手动创建该文件。
3.在Application类初始化
public class AppApplication extends Application {
private static AppApplication mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = this;
StringBuffer buffer = new StringBuffer();
buffer.append("appid=58579f0a");
//buffer.append(",");
//buffer.append(SpeechConstant.ENGINE_MODE + "=" + SpeechConstant.MODE_MSC);
SpeechUtility.createUtility(this, buffer.toString());
}
public static AppApplication getContext() {
return mContext;
}
}
4.添加用户权限:
<!--连接网络权限,用于执行云端语音能力 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!--获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--读取网络信息状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--获取当前wifi状态 -->
<uses-permission android:name&