0

Всегда говорите последние элементы. Но я хочу говорить сначала в Бангладеш, затем в Индии, тогда Барма также наконец говорит Танану. Когда я запускаю свои коды, всегда говорим о Танане.TTS не правильно зацикливается от IU Thread in android?

Мои коды:

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 говорит первые элементы, что означает Бангладеш, и, наконец, говорить о Танане (последний элемент). Пожалуйста, помогите мне. Я не знаю, легко это или нет. но для меня это очень сложно. Пожалуйста, помогите мне. Спасибо

ответ

1

Используйте QUEUE_ADD вместо QUEUE_FLUSH. Таким образом вы очищаете очередь TTS.

Смежные вопросы