我按照百度文档介绍的来写
SpeechSynthesizer mSpeechSynthesizer = SpeechSynthesizer.getInstance();
// 设置context
mSpeechSynthesizer.setContext(this);
// 设置语音合成状态监听器
mSpeechSynthesizer.setSpeechSynthesizerListener(this);
// 设置语音合成文本模型文件
mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_TEXT_MODEL_FILE,
"../speechData/" + TEXT_MODEL_NAME);
// 设置语音合成声音模型文件
mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_SPEECH_MODEL_FILE,
"../speechData/" + SPEECH_FEMALE_MODEL_NAME);
// 设置语音合成声音授权文件
mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_LICENCE_FILE,
"../speechData/" + LICENSE_FILE_NAME);
// 请替换为语音开发者平台上注册应用得到的App ID (离线授权)
this.mSpeechSynthesizer.setAppId("我的appid");
this.mSpeechSynthesizer.setApiKey("我的API Key", "我的Secret Key");
// 设置Mix模式的合成策略
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_MIX_MODE, SpeechSynthesizer.MIX_MODE_DEFAULT);
// 获取语音合成授权信息
AuthInfo authInfo = mSpeechSynthesizer.auth(TtsMode.MIX);
// 判断授权信息是否正确,如果正确则初始化语音合成器并开始语音合成,如果失败则做错误处理
if (authInfo.isSuccess()) {
mSpeechSynthesizer.initTts(TtsMode.MIX);
mSpeechSynthesizer.speak("百度语音合成示例程序正在运行");
} else {
// 授权失败
String errorMsg = authInfo.getTtsError().getDetailMessage();
Log.i(TAG, "auth failed errorMsg=" + errorMsg);
}
但是为什么一直报错
auth failed errorMsg=(-200)both online and offline engine auth failue
this.mSpeechSynthesizer.setApiKey("我的API Key", "我的Secret Key"); 里面已经替换了我自己的apikey和Secret Key,我只是没有写出来
请替换自己的api_key和secret_key后再试。