有两个按钮。开始和重复。开始时TTS(文本到语音)应该开始从 textview (t1)中读取文本。在阅读文本时,如果我点击重复按钮 TTS应该继续重复阅读文本(一旦完成阅读(t1)),直到我点击停止按钮。 (就像音乐播放器一样)
答案 0 :(得分:1)
通过调用onUtteranceCompleted方法获得解决方案。
public class MainActivity extends AppCompatActivity implements TextToSpeech.OnInitListener, TextToSpeech.OnUtteranceCompletedListener {
...
}
private void speak(String text) {
if (text != null) {
HashMap<String, String> myHashAlarm = new HashMap<String, String>();
String.valueOf(AudioManager.STREAM_ALARM));
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "SOME MESSAGE");
tts.speak(text, TextToSpeech.QUEUE_FLUSH, myHashAlarm);
}
}
@Override
public void onUtteranceCompleted(String s) {
if(repateOn) {
// call speak method
speak(textString);
}
}
感谢。