当给定消息太长时,App Inventor的TextToSpeech不起作用

问题描述 投票:0回答:1

在MIT App Inventor中,有一个称为TextToSpeech的媒体组件。它有一个称为Speak(text message)的方法,可以说给定的消息。

我遇到的问题是,当给定的消息很长时(例如,创世记第一章的文本,大约4260个字符),TextToSpeech完全不讲话。 (顺便说一下,对于创世记第二章来说,它工作得很好,它较短,大约3164个字符。)

app-inventor
1个回答
1
投票

我必须采取的解决方法(或解决方案)是将给定的消息用换行符\n分成段落列表,(或将句点字符.分成句子列表,如果更合适的话)大小写),并反复调用一个过程,在该过程中,调用TextToSpeech仅讲单个段落。如果出现TextToSpeech AfterSpeaking,请检查是否还有更多要说的段落;如果是这样,请再次调用相同的过程。

这样,每次调用TextToSpeech.Speak时,给定的消息都足够小,无法正常工作。现在说长消息,如创世记第一章的文本,是没有问题的。

请参见下面的块:

enter image description here

<< [Note我正在使用的App Inventor版本:

Built: November 26 2019 Version: nb180a Use Companion: 2.55 or 2.55u or 2.55 or 2.55uu Target Android SDK: 28 (Android 9.0 Pie)
© www.soinside.com 2019 - 2024. All rights reserved.