2016-07-28 1 views
0

У меня есть кнопка, которая при нажатии, я хотел бы сыграть «правильный» звук перед использованием текста в речь. Однако, в то время как текст в речь начинается до того, как «правильный» звук будет воспроизведен, так что два звука перекрываются. Как я могу начать текст в речь, как только «правильный» звук будет воспроизводиться? Любая помощь приветствуется. Большое спасибо!!Получить звук для завершения воспроизведения перед использованием текста в речь

public void onClick(View view){ 

     Button btn = (Button) view; 
     TextView tv = (TextView) findViewById(R.id.animal_text); 
     textViewString = tv.getText().toString(); 
     final MediaPlayer mp = MediaPlayer.create(this, R.raw.correct); 

     if (btn.getText().equals(textViewString)) { 

      mp.start(); 

      Resources res = getResources(); 
      String[] myString = res.getStringArray(R.array.englishAnimalArray); 
      String q = myString[r_generator.nextInt(myString.length)]; 
      tv.setText(q); 
      textViewString = tv.getText().toString(); 
      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { 
       tts.speak(textViewString, TextToSpeech.QUEUE_FLUSH, null); 
      } else { 
       tts.speak(textViewString, TextToSpeech.QUEUE_FLUSH, null, null); 
      } 
     } 
+0

Я использовал 'requestAudioFocus' для приостановки воспроизведения музыки, использовать TTS, а затем возобновить музыку, это может быть полезно для вас https://developer.android.com/training/managing-audio/audio-focus. HTML – pizzaisdavid

ответ