我有一些代码,它读取一个由大写字母和数字组成的字符串,一次读取一个字符(如预期的那样),但它一次无法读取ZAR5004
个字符,而是读作为"五千四十四非洲兰特"。
有没有办法解决这个问题,以便一次读取一个字符?
tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
tts.setLanguage(Locale.getDefault());
tts.setPitch(.7f);
tts.setSpeechRate(.6f);
}
});
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
protected void ttsGreater21(String readThis) {
String utteranceId = this.hashCode() + "";
activity.tts.speak(readThis, TextToSpeech.QUEUE_FLUSH, null, utteranceId);
}
答案 0 :(得分:1)
尝试在每个字符后面加一个空格或一个点(或尝试其他分隔符)。即:Z A R 5 0 0 4
这会强制TTS引擎将字符串视为单独的字符并单独说出来。