TTS没有正确循环

时间:2011-08-07 22:19:12

标签: android text-to-speech

我的要求:要将字符串列表转换为Text to speech。并且每个字符串的开头应该播放声音

问题:每当我运行它时,只有最后一个被执行,并且在字符串之间也没有播放音乐?我应该如何修改,只有当第一个字符串的TexttoSpeech完成时,循环才会转到下一个字符串..

   for(int m=0;m<c1;m++)
   {    
       mp = MediaPlayer.create(Web4.this, R.raw.music1);
       mp.start();          
       tts.setOnUtteranceCompletedListener(this);
       HashMap<String, String> myHashRender = new HashMap();
       myHashRender.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID,"end of wakeup message ID");
       tts.speak(question1[m],TextToSpeech.QUEUE_FLUSH,myHashRender);
       tts.speak("Completed", TextToSpeech.QUEUE_ADD,        myHashRender);
       mp.stop();
   }

2 个答案:

答案 0 :(得分:2)

将索引存储在一个字段中,只从onUntteranceCompleted()调用下一个speak()(当然第一个除外)。

答案 1 :(得分:0)

尝试在每次通话之间添加延迟,这可能会有所帮助。