Android Studio有点新鲜。尝试设置一个基本的TTS应用程序,并在此行中得到上述错误:
t1.speak(toSpeak,TextToSpeech.QUEUE_FLUSH,null,null);
正如我所说的,我对Android Studio有些陌生,因此我不确定人们需要查看哪些其他文件才能解决此问题,所以请告诉我,如果我提供更多信息,请提供更多信息。需要的。
答案 0 :(得分:1)
试试这个。
用t1替换tts,用toSpeak替换文本,它应该适用于21以上和以下的API。
public void speak(String text) {
if (tts != null) {
if (tts.isSpeaking()) {
tts.stop();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ttsGreater21(text);
} else {
ttsUnder20(text);
}
}
}
@SuppressWarnings("deprecation")
private void ttsUnder20(String text) {
HashMap<String, String> map = new HashMap<>();
map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "MessageId");
tts.speak(text, TextToSpeech.QUEUE_FLUSH, map);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void ttsGreater21(String text) {
String utteranceId = this.hashCode() + "";
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, utteranceId);
}