注册
使用灵云的语音合成功能需要先在官网上进行注册应用。官网地址
注册比较简单,就不做过多介绍了,注册完应用以后,在后台创建自己的应用,创建完应用以后需要给应用开通对应的语音能力。
capKey说明:
- tts.cloud.wangjing对应的使在线合成功能
- tts.local.synth对应的是离线合成功能
- tts.local.synth.sing对应的是离线歌唱功能
集成
下载灵云的Android版本语音合成功能,下载地址
如果使用在线功能,下载对应的SDK,里面有jar包和so,就可以满足需求了。如果要使用离线的语音功能,还需要下载灵云资源文件
源码
灵云在线合成功能
需要加入的so和jar包有:
- libhci_curl.so
- libhci_sys.so
- libhci_sys_jni.so
- libhci_tts.so
- libhci_tts_jni.so
- libhci_tts_cloud.synth.so
- libspeex.so
- libstlport_shared.so
- hcicloud-5.0.jar
- hcicloud_player-5.0.jar
权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
配置类
package com.example.sinovoice.util;
/**
* 灵云配置信息
* Created by 10048 on 2016/12/3.
*/
public class ConfigUtil {
/**
* 灵云APP_KEY
*/
public static final String APP_KEY = "c85d54f1";
/**
* 开发者密钥
*/
public static final String DEVELOPER_KEY = "712ddd892cf9163e6383aa169e0454e3";
/**
* 灵云云服务的接口地址
*/
public static final String CLOUD_URL = "test.api.hcicloud.com:8888";
/**
* 需要运行的灵云能力
*/
// 离线语音合成
public static final String CAP_KEY_TTS_LOCAL = "tts.local.synth";
//离线歌唱合成功能
public static final String CAP_KEY_TTS_LOCAL_SING = "tts.local.synth.sing";
// 云端语音合成
public static final String CAP_KEY_TTS_CLOUD = "tts.cloud.wangjing";
}
封装灵云系统的初始化功能
package com.example.sinovoice.util;
import android.content.Context;
import android.os.Environment;
import android.util.Log;
import com.sinovoice.hcicloudsdk.api.HciCloudSys;
import com.sinovoice.hcicloudsdk.common.AuthExpireTime;
import com.sinovoice.hcicloudsdk.common.HciErrorCode;
import com.sinovoice.hcicloudsdk.common.InitParam;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* Created by miaochangchun on 2016/11/28.
*/
public c