如何通过TTS抽出时间讲文字

时间:2012-12-07 05:37:17

标签: android multithreading time text-to-speech

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

在开始讲话之前,我们可以在几秒钟内通过tts说出完整的文字吗?

1 个答案:

答案 0 :(得分:0)

我还没有办法找出说出特定话语需要多长时间。但是,如果你的意图只是要知道话语何时被完成,那么就会有回调。

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

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