gpt4 book ai didi

Android TTS 说 0 为 "oh"

转载 作者:行者123 更新时间:2023-12-04 23:41:05 24 4
gpt4 key购买 nike

当使用 Android TextToSpeech 朗读带有数字的消息时,Android 将 0(零)表示为“哦”而不是“零”。所有其他数字都按预期说出。

我尝试了几种不同的说话方式,所有这些都导致了这个问题。首先,我以正常方式尝试:

    mTTS = new TextToSpeech(mContext, this);
String text= "this is a test";
String digits= "0 0 0 1";
String finalString= text+digits;

// speak something using google TTS
Bundle lParams = new Bundle();
lParams.putInt(TextToSpeech.Engine.KEY_PARAM_STREAM, Constants.TTS_AUDIO_STREAM);
mTTS.speak(finalString, TextToSpeech.QUEUE_FLUSH, lParams, "");

我也试过 digits作为“0001”(没有空格)。两人最后都说“这是一个测试哦哦哦一个”。接下来,我尝试使用 TtsSpans:
    mTTS = new TextToSpeech(mContext, this);
String text= "this is a test";
String digits= "0 0 0 1";
String finalString= text+digits;
Spannable lSpannedMsg = new SpannableString( finalString );
TtsSpan lSpan = new TtsSpan.DigitsBuilder(digits).build();
TtsSpan lSpanText = new TtsSpan.TextBuilder(text).build();

lSpannedMsg.setSpan(lSpan, finalString.indexOf(digits), finalString.indexOf(digits) + digits.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
lSpannedMsg.setSpan(lSpanText, finalString.indexOf(text), finalString.indexOf(text) + text.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

// speak something using google TTS
Bundle lParams = new Bundle();
lParams.putInt(TextToSpeech.Engine.KEY_PARAM_STREAM, Constants.TTS_AUDIO_STREAM);
mTTS.speak(lSpannedMsg, TextToSpeech.QUEUE_FLUSH, lParams, "");

即使使用跨接字符串,引擎仍然会说“这是一个测试哦哦哦一个”。有什么办法可以强制谷歌把 0 说成“零”?我想避免调查发送的字符串并将 0 替换为“零”,因为这会导致其他语言出现问题。

最佳答案

holder.mEmployeeId.setText("100001");
String buildNumber = holder.mEmployeeId.getText().toString();
StringBuilder builderForEmployeeNo = new StringBuilder();
for (char ch : buildNumber.toCharArray()){
builderForEmployeeNo.append(ch);
builderForEmployeeNo.append(",");
}
holder.mEmployeeId.setContentDescription(builderForEmployeeNo);
通过使用此方法,无论您的默认语言环境如何,它都只会将 0 读取为 0

关于Android TTS 说 0 为 "oh",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33374331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com