TextToSpeech读取单个字符而不是单词

时间:2015-10-08 02:19:24

标签: android text-to-speech

我有一些代码,它读取一个由大写字母和数字组成的字符串,一次读取一个字符(如预期的那样),但它一次无法读取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);
}

1 个答案:

答案 0 :(得分:1)

尝试在每个字符后面加一个空格或一个点(或尝试其他分隔符)。即:Z A R 5 0 0 4

这会强制TTS引擎将字符串视为单独的字符并单独说出来。