我使用的服务是:语音合成
调用的接口是:语音合成
参数设置情况:使用百度语音合成SDK提供的示例程序, 仅将setAppId, setApiKey的参数换成了自己的
开发平台和机型:andorid 7.1.1, 模拟器以及真机都存在该问题
SDK版本号:com.baidu.tts_2.2.9.20161020_154fa02_release.jar
代码或日志截图(上传截图能帮助您更快解决问题):
每次调用Speak时, 都会出现这些警告
相关代码:
private void initialTts() {
this.mSpeechSynthesizer = SpeechSynthesizer.getInstance();
this.mSpeechSynthesizer.setContext(this);
this.mSpeechSynthesizer.setSpeechSynthesizerListener(this);
// 文本模型文件路径 (离线引擎使用)
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_TEXT_MODEL_FILE, mSampleDirPath + "/"
+ TEXT_MODEL_NAME);
// 声学模型文件路径 (离线引擎使用)
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_SPEECH_MODEL_FILE, mSampleDirPath + "/"
+ SPEECH_FEMALE_MODEL_NAME);
// 本地授权文件路径,如未设置将使用默认路径.设置临时授权文件路径,LICENCE_FILE_NAME请替换成临时授权文件的实际路径,仅在使用临时license文件时需要进行设置,如果在[应用管理]中开通了正式离线授权,不需要设置该参数,建议将该行代码删除(离线引擎)
// 如果合成结果出现临时授权文件将要到期的提示,说明使用了临时授权文件,请删除临时授权即可。
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_TTS_LICENCE_FILE, mSampleDirPath + "/"
+ LICENSE_FILE_NAME);
// 请替换为语音开发者平台上注册应用得到的App ID (离线授权)
this.mSpeechSynthesizer.setAppId("8974833"/*这里只是为了让Demo运行使用的APPID,请替换成自己的id。*/);
// 请替换为语音开发者平台注册应用得到的apikey和secretkey (在线授权)
this.mSpeechSynthesizer.setApiKey("MODg5idAwp6aO8HUyxk07qSa",
"37a8c207c4d9c16d424e3871fab36384"/*这里只是为了让Demo正常运行使用APIKey,请替换成自己的APIKey*/);
// 发音人(在线引擎),可用参数为0,1,2,3。。。(服务器端会动态增加,各值含义参考文档,以文档说明为准。0--普通女声,1--普通男声,2--特别男声,3--情感男声。。。)
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");
// 设置Mix模式的合成策略
this.mSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_MIX_MODE, SpeechSynthesizer.MIX_MODE_DEFAULT);
// 授权检测接口(只是通过AuthInfo进行检验授权是否成功。)
// AuthInfo接口用于测试开发者是否成功申请了在线或者离线授权,如果测试授权成功了,可以删除AuthInfo部分的代码(该接口首次验证时比较耗时),不会影响正常使用(合成使用时SDK内部会自动验证授权)
AuthInfo authInfo = this.mSpeechSynthesizer.auth(TtsMode.MIX);
if (authInfo.isSuccess()) {
toPrint("auth success");
} else {
String errorMsg = authInfo.getTtsError().getDetailMessage();
toPrint("auth failed errorMsg=" + errorMsg);
}
// 初始化tts
mSpeechSynthesizer.initTts(TtsMode.MIX);
// 加载离线英文资源(提供离线英文合成功能)
int result =
mSpeechSynthesizer.loadEnglishModel(mSampleDirPath + "/" + ENGLISH_TEXT_MODEL_NAME, mSampleDirPath
+ "/" + ENGLISH_SPEECH_FEMALE_MODEL_NAME);
toPrint("loadEnglishModel result=" + result);
//打印引擎信息和model基本信息
printEngineInfo();
}
复现步骤、现象及其他描述:
直接更换相关ID, 调试运行, 点击Speak按钮
是的不影响
水寒319:
这些警告信息都不一样TTS的正常使用。
回复水寒319:你是说不影响吧....谢谢
这些警告信息都不一样TTS的正常使用。