我正在开发一个模块来读取文本文件并使用TTS作为语音播放.我已成功将TTS集成到我的模块中.还有前4000个字符的阅读和说话.
我有超过4000个字符的字符串,它也可能有10000多个字符.此时我无法使用TTS读取文件和播放.
我试过把大字符串分成字符串的一小部分.每个字符串部分有4000个字符.
当我正在播放第一个字符串部分时,它的工作正常.但在完成第一个弦乐部分后,我想立即开始第二部分.但TTS没有启动它.
我在用
int pos = 0;
while(true) {
String var = "";
try {
var = str.substring(pos, 3999);
pos += 3999;
} catch(Exception e) {
var = str.substring(pos, str.length());
break;
}
HashMap map = new HashMap();
map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utteranceId");
tts.speak(var, TextToSpeech.QUEUE_ADD, map);
}
我已经尝试了很多.也在网上搜索但没有得到任何好的解决方案.
有一个setOnUtteranceCompletedListener()我认为这可能是有用的.但是,有谁能帮助我.如何使用TTS播放大文本.或任何其他可用的技术?