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 引擎将字符串视为单独的字符并单独读出。