У меня есть несколько кнопок, которые отвечают на onClick. Когда кнопки нажимаются, это вызывает текст в речь, в котором указано название кнопки и какая-то музыка, соответствующая кнопке. Однако приложение глючит, потому что вы можете нажать другую кнопку, пока музыка и текст в речь для одной кнопки все еще работают. Есть ли способ дождаться, когда текст в речь и музыка перестанут играть, прежде чем разрешить другой щелчок? Любая помощь будет принята с благодарностью! Большое спасибо!!!Подождите, пока текст в речь и музыка закончится, прежде чем регистрироваться в следующем окне.
public void onClick(View view) {
Resources res = getResources();
Button btn = (Button) view;
final TextView tv = (TextView) findViewById(R.id.color_text);
textViewString = tv.getText().toString();
switch (view.getId()) {
case R.id.green_button:
String greenString = res.getString(R.string.Green);
tv.setText(greenString);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(greenString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(greenString, TextToSpeech.QUEUE_FLUSH, null, null);
}
MediaPlayer green = MediaPlayer.create(this, R.raw.green);
green.start();
break;
case R.id.red_button:
String redString = res.getString(R.string.Red);
tv.setText(redString);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(redString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(redString, TextToSpeech.QUEUE_FLUSH, null, null);
}
MediaPlayer red = MediaPlayer.create(this, R.raw.red);
red.start();
break;