【发布时间】:2020-06-10 17:31:08
【问题描述】:
我有一个对象“单词”的 ArrayList,它有两个字符串属性,它们是一种语言的单词和另一种语言的翻译。这些单词取自 txt 文件,它们用符号“=”分隔,因此每行都有一个单词及其翻译。像这样:
word1Language1=word1language2
word2Language1=word2Language2
word3Language1=word3Language2
所以,我使用一种方法读取了这些单词,该方法成功地将它们放入前面提到的 ArrayList 中。但现在我希望机器人在我按下按钮时发音这些单词(我希望它在我再次按下按钮时也停止)。这是我目前的代码,“wordsList”是 ArrayList 的名称。我不知道如何告诉机器人在单词之间等待(所以它会正确发音):
mTTS = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR){
mTTS.setLanguage(Locale.US);
}
}
});
imageButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
for(int i=0; i <= wordsList.size(); i++){
mTTS.setLanguage(Locale.US);
String toSpeak1 = wordsList.get(i).getLanguage1();
mTTS.speak(toSpeak1, TextToSpeech.QUEUE_FLUSH, null);
mTTS.setLanguage(Locale.ITALIAN);
String toSpeak2 = wordsList.get(i).getLanguage2();
mTTS.speak(toSpeak2, TextToSpeech.QUEUE_FLUSH, null);
}
mTTS.shutdown();
}
});
谢谢!
【问题讨论】:
-
另外,TTS 对我来说完全不受限制,几乎所有语言都可以使用。您可能需要检查您是否在测试设备上下载了所有 tts 包
-
@Lurzapps 谢谢,我应用了您发布的内容并通过为每种语言实例化一个新的语言环境来设法使用其他语言,但我仍然无法让它说出所有单词,因为它没有停在单词之间。
-
我添加了答案
-
等我再编辑一下