android 中的 IU 线程未正确循环 TTS?

TTS is not looping properly from IU Thread in android?

总是说最后的元素。但我想先说孟加拉国,然后是印度,然后是巴尔马,最后还要说塔纳纳语。当我 运行 我的代码总是说 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);

                    }
                });
    }

根据循环说话如何实现。这意味着首先说孟加拉国的第一个元素,最后说 Tanana(最后一个元素)。请帮我。我不知道这是否容易。但这对我来说非常复杂。请帮我。谢谢

使用 QUEUE_ADD 而不是 QUEUE_FLUSH。您正在以这种方式清除 TTS 队列。