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);
}
}
我用'requestAudioFocus'暫停音樂,使用TTS,然後恢復音樂,可能會對你有所幫助https://developer.android.com/training/managing-audio/audio-focus。 HTML – pizzaisdavid