TextToSpeech 读取单个字符而不是单词
TextToSpeech to read single characters instead of words
我有一些代码读取一个由大写字母和数字混合组成的字符串,一次读取一个字符(如预期的那样),但它无法一次读取 ZAR5004
一个字符,相反,它读作 "five thousand and 4 African rand".
有没有办法解决这个问题,让它一次读取一个字符?
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);
}
尝试在每个字符后放置一个 space 或一个点(或尝试其他分隔符)。即:Z A R 5 0 0 4
这将强制 TTS 引擎将字符串视为单独的字符并单独读出。
我有一些代码读取一个由大写字母和数字混合组成的字符串,一次读取一个字符(如预期的那样),但它无法一次读取 ZAR5004
一个字符,相反,它读作 "five thousand and 4 African rand".
有没有办法解决这个问题,让它一次读取一个字符?
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);
}
尝试在每个字符后放置一个 space 或一个点(或尝试其他分隔符)。即:Z A R 5 0 0 4
这将强制 TTS 引擎将字符串视为单独的字符并单独读出。