讯飞语音合成

xiaoxiao2025-10-22  14

第一步:将下载好的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) { } };

设置发音人建议自己查看讯飞语音官方文档

转载请注明原文地址: https://www.6miu.com/read-5038344.html

最新回复(0)