按钮内的TTS不会读取多个字符串

时间:2015-03-05 15:59:14

标签: android string button timer text-to-speech

我正在编写我的第一个Android应用程序,我在一个活动中遇到了一些问题。我正在尝试添加tts和计时器,它们将在按钮按下时激活。我对此有几个问题,并将我的问题分成单独的线程:)。让我先从tts问题开始。

当我添加tts函数onInit时它工作正常。当我把它作为随机随机它读取字符串作为一个长句,但它读取它。但是当我添加tts调用一个按钮时,我需要读取2个字符串,......

   Button Start = (Button)findViewById(R.id.btnStart);
    Start.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
           // Intent myIntent = new Intent(getBaseContext(),     MainActivity.class); //put timer start here
          //  startActivity(myIntent);

            tts.speak(voice[2], TextToSpeech.QUEUE_FLUSH, null);           //falls through to 4 and timer does not start.
            tts.speak("... ",TextToSpeech.QUEUE_FLUSH, null);
            tts.speak(voice[0], TextToSpeech.QUEUE_FLUSH, null);
                    Timer1.start();
            //pause here 5 seconds
                    //Timer2.start();
            //pause here 5 minutes
                // Timer3.start();
            //continue code from here
            // startActivity(myIntent);
        }
    });

.......我不得不取出Intent,否则会导致项目崩溃。当我这样做时,它会通过,只读取最后一个字符串。当我添加可能写错的定时器调用时,它会使项目崩溃。我想我已经正确编写了定时器函数,但这是下一个线程。我知道我写错了。但是我可以在任何地方找到一个如何做到这一点的例子。

所以我需要帮助: 1.让按钮从暂停的数组中读取几个字符串 2.正确编写函数调用以激活计时器

我有一个基本的java编程类,这是我的第一个Android应用程序。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用 QUEUE_ADD 代替 QUEUE_FLUSH