100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 百度tts语音合成使用

百度tts语音合成使用

时间:2023-04-03 16:40:24

相关推荐

百度tts语音合成使用

package cn.zhjy.ai.utils;import android.content.Context;import com.baidu.tts.client.SpeechSynthesizer;import com.baidu.tts.client.SpeechSynthesizerListener;import com.baidu.tts.client.TtsMode;import cn.zhjy.ai.listener.MessageListener;/*** 除了SDK,该类没有任何依赖,可以直接复制进你的项目* <p>* 默认TEMP_DIR = "/sdcard/baiduTTS"; // 重要!请手动将assets目录下的3个dat 文件复制到该目录* 确保 TEXT_FILENAME 和 MODEL_FILENAME 存在* Created by fujiayi on /9/14.*/public class BaiduTTS {// ================== 精简版初始化参数设置开始 ==========================private String appId="3171";private String appKey="0sBfmGftYkHAOVbkNFaVXkt7";private String secretKey="5G0G8f1NQS8FFarODCRzK2DYAx9hypIY";// TtsMode.MIX; 离在线融合,在线优先; TtsMode.ONLINE 纯在线; 没有纯离线private TtsMode ttsMode = TtsMode.ONLINE;// ===============初始化参数设置完毕,更多合成参数请至getParams()方法中设置 =================private SpeechSynthesizer mSpeechSynthesizer;/*** 注意此处为了说明流程,故意在UI线程中调用。* 实际集成中,该方法一定在新线程中调用,并且该线程不能结束。具体可以参考NonBlockSyntherizer的写法*/public void initTTs(Context context,SpeechSynthesizerListener listener) {// 1. 获取实例mSpeechSynthesizer = SpeechSynthesizer.getInstance();mSpeechSynthesizer.setContext(context);// 2. 设置listenermSpeechSynthesizer.setSpeechSynthesizerListener(new MessageListener());// 3. 设置appId,appKey.secretKeyint result = mSpeechSynthesizer.setAppId(appId);result = mSpeechSynthesizer.setApiKey(appKey, secretKey);// 4. 如果是纯离线SDK需要离线功能的话// 5. 以下setParam 参数选填。不填写则默认值生效//~"0"(默认)~~普通女声//~"1"~~普通男声//~"2"~~特别男声//~"3"~~情感男声<度逍遥>//~"4"~~情感儿童声<度丫丫>//~"106"~~度博文(情感男声)//~"110"~~度小童(情感儿童声)//~"111"~~度小萌(情感女声)//~"103"~~度米朵(情感儿童声)//~"5"~~度小娇(情感女声)mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");// 设置合成的音量,0-15 ,默认 5mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_VOLUME, "10");// 设置合成的语速,0-15 ,默认 5mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEED, "6");// 设置合成的语调,0-15 ,默认 5mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_PITCH, "4");// mSpeechSynthesizer.setAudioStreamType(AudioManager.MODE_IN_CALL); // 调整音频输出// x. 额外 : 自动so文件是否复制正确及上面设置的参数// Map<String, String> params = new HashMap<>();// 复制下上面的 mSpeechSynthesizer.setParam参数// 上线时请删除AutoCheck的调用// 6. 初始化result = mSpeechSynthesizer.initTts(ttsMode);}public void speak(String text) {if (mSpeechSynthesizer == null) {LogUtil.d("[ERROR], 初始化失败");return;}int result = mSpeechSynthesizer.speak(text);LogUtil.d("合成并播放 按钮已经点击");}public void stop() {LogUtil.d("停止合成引擎 按钮已经点击");int result = mSpeechSynthesizer.stop();}public void destory() {if (mSpeechSynthesizer != null) {mSpeechSynthesizer.stop();mSpeechSynthesizer.release();mSpeechSynthesizer = null;LogUtil.d("释放资源成功");}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。