我想在我的TTS-app中添加一个暂停按钮。我试图用while循环来做这个,它应该起作用。它不起作用,但我找不到我的错误。
我的布尔值:
boolean pausegedrückt;
for循环:
for (int i = 1; i < anzahl+1; i++) {
while (pausegedrückt==true) {
tts.playSilence(1000, TextToSpeech.QUEUE_ADD, null);
}
String str = String.valueOf(i);
tts.speak(str, TextToSpeech.QUEUE_ADD, null);
tts.playSilence(3000, TextToSpeech.QUEUE_ADD, null);
}
我的onCheckedChanged
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
l.setBackgroundColor(Color.BLUE);
pausegedrückt=false;
} else {
l.setBackgroundColor(Color.BLACK);
pausegedrückt=true;
}
答案 0 :(得分:1)
我建议添加OnUtteranceCompletedListener或UtteranceProgressListener,因为如果没有它,某些设备上的话语可能会失败。
此外,您为每个循环向队列添加1秒的静音。如果它循环10,000次,你最终会沉默很多.....你需要在话语监听器内部循环(或者至少是另一个布尔参数),所以它只会再增加1个上一次沉默结束后,沉默的第二次。
那就是说,我不认为这是暂停演讲的正确方法。