相关疑难解决方法(0)

如果收到的TTS太长,onUtteranceCompleted()会丢失

我刚刚在Android的TTS引擎中观察到"未记录的异常":如果要说的文本太长(大于4K个字符),那么onTetteranceCompleted()对于那个特定的话语将永远不会到达......

还有其他人遇到过这个吗?

这是一个已知的错误或限制吗?

可以做些什么来解决这个问题?

android text-to-speech onutterancecompleted

7
推荐指数
1
解决办法
671
查看次数

如何使用TTS(TextToSpeech),而字符串在Android中有超过4000个字符

我正在开发一个模块来读取文本文件并使用TTS作为语音播放.我已成功将TTS集成到我的模块中.还有前4000个字符的阅读和说话.

我有超过4000个字符的字符串,它可能有超过10000个字符.此时我无法使用TTS读取文件和播放.

我试过把大字符串分成字符串的一小部分.每个字符串部分有4000个字符.

当我正在播放第一个字符串部分时,它的工作正常.但在完成第一个弦乐部分之后,我想立即开始第二部分.但TTS没有启动它.

我在用

int pos = 0;

while(true) {

            String var = "";

            try {
                var = str.substring(pos, 3999);
                pos += 3999;
            } catch(Exception e) {
                var = str.substring(pos, str.length());
                break;
            }

            HashMap<String, String> map = new HashMap<String, String>();
            map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utteranceId");
            tts.speak(var, TextToSpeech.QUEUE_ADD, map);
        }
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多.也在网上搜索但没有得到任何好的解决方案.

有一个setOnUtteranceCompletedListener()我认为这可能是有用的.但是,有谁能帮助我.如何使用TTS播放大文本.或任何其他可用的技术?

pdf android text-to-speech onutterancecompleted

5
推荐指数
1
解决办法
1028
查看次数