У меня есть кнопка, которая при нажатии, я хотел бы сыграть «правильный» звук перед использованием текста в речь. Однако, в то время как текст в речь начинается до того, как «правильный» звук будет воспроизведен, так что два звука перекрываются. Как я могу начать текст в речь, как только «правильный» звук будет воспроизводиться? Любая помощь приветствуется. Большое спасибо!!Получить звук для завершения воспроизведения перед использованием текста в речь
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);
}
}
Я использовал 'requestAudioFocus' для приостановки воспроизведения музыки, использовать TTS, а затем возобновить музыку, это может быть полезно для вас https://developer.android.com/training/managing-audio/audio-focus. HTML – pizzaisdavid