第一步:将下载好的Sdk解压,将压缩文件中的libs下的jar文件放到项目中的libs包下,将压缩文件中的lisb下除jar文件放到main下的jniLibs包中
第二步:Sdk初始化,建议选择在自定义的application中初始化。
//初始化讯飞语音
SpeechUtility.createUtility(getApplicationContext(), SpeechConstant.APPID + "=5bbf3e23");
第三步:添加权限,建议自己看文档
打包或者生成APK的时候进行混淆
-keep class com.iflytek.**{*;}
-keepattributes Signature
语音合成
public void onClick(View v) {
mTts = SpeechSynthesizer.createSynthesizer(this, null);
// 清空参数
mTts.setParameter(SpeechConstant.PARAMS, null);
// 设置在线云端
mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD);
// 设置发音人
mTts.setParameter(SpeechConstant.VOICE_NAME, sp.getString("name", "xiaoyan"));
// 设置发音语速
mTts.setParameter(SpeechConstant.SPEED, "50");
// 设置音调
mTts.setParameter(SpeechConstant.PITCH, "50");
// 设置合成音量
mTts.setParameter(SpeechConstant.VOLUME, "100");
// 设置播放器音频流类型
mTts.setParameter(SpeechConstant.STREAM_TYPE, "3");
// 设置播放合成音频打断音乐播放,默认为true
mTts.setParameter(SpeechConstant.KEY_REQUEST_FOCUS, "true");
// 设置音频保存路径,需要申请WRITE_EXTERNAL_STORAGE权限,如不需保存注释该行代码
// mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH,"./sdcard/iflytek.pcm");
//获取文本并开始合成
mTts.startSpeaking(text.getText().toString(), mSynListener);
//开始播放按钮
btn_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTts.resumeSpeaking();
}
});
//暂停按钮
btn_puase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTts.pauseSpeaking();
}
});
}
private SynthesizerListener mSynListener = new SynthesizerListener() {
//开始播放
@Override
public void onSpeakBegin() {
}
//缓冲进度回调
@Override
public void onBufferProgress(int i, int i1, int i2, String s) {
}
//暂停播放
@Override
public void onSpeakPaused() {
}
//恢复播放回调接口
@Override
public void onSpeakResumed() {
}
//播放进度回调
@Override
public void onSpeakProgress(int percent, int beginPos, int endPos) {
if (beginPos == 0) {
}
}
//会话结束回调接口,没有错误时,error为null
@Override
public void onCompleted(SpeechError speechError) {
if (speechError == null) {
}
//会话事件回调接口
@Override
public void onEvent(int i, int i1, int i2, Bundle bundle) {
}
};
设置发音人建议自己查看讯飞语音官方文档