2

我正在开发一个使用多个线程和 tts 的应用程序。线程的执行取决于 tts 说出文本所花费的时间,所以我的问题是,

在 tts 开始说话之前,我们可以在几秒钟内得到时间来通过 tts 说出完整的文本吗?

4

1 回答 1

0

我还没有找到一种方法来找出说出特定话语需要多长时间。但是,如果您的意图只是想知道一个话语何时完成,则有回调。

https://developer.android.com/reference/android/speech/tts/UtteranceProgressListener.html#onDone(java.lang.String)

根据您的用例,这实际上可能会更好。我这么说是因为发言请求会排队,可能不会立即发言。更不用说 TTS 引擎是在另一个进程中运行的服务,并且请求朗读文本会产生一些开销。因此,即使您知道某个字符串需要 5 秒才能说出,也不一定会在调用 5 秒后说出speak()

于 2016-08-01T18:04:53.820 回答