始终讲最后的元素。但我想首先说孟加拉国,然后是印度,然后巴马也最终说塔纳纳。当我运行我的代码时,总是说Tanana。
我的代码:
int wordNumber=0;
String[] splitspeech = { "Bangladesh", "India", "Barma",
"Banana", "Tanana" };
do {
reader(splitspeech[wordNumber]);
wordNumber++;
} while (wordNumber < splitspeech.length);
public void reader(final String msg) {
Log.e("reader output:", "msg:" + msg);
TextToSpeech textReader = new TextToSpeech(getApplicationContext(),
new OnInitListener() {
@Override
public void onInit(int status) {
HashMap<String, String> map = new HashMap<String, String>();
map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,
"Hello");
textReader.speak(msg,
TextToSpeech.QUEUE_FLUSH, map);
}
});
}
如何实现这是循环说话。这意味着fisrt首先讲的是孟加拉国的元素,最后讲的是Tanana(最后一个元素)。请帮我。我不知道这很容易。但这对我来说非常复杂。请帮我。谢谢
答案 0 :(得分:1)
使用QUEUE_ADD
代替QUEUE_FLUSH
。您正在以这种方式清除TTS队列。