合成音频文件时 TTS.speechRate() 会影响吗?

问题描述

我有两种方法setSpeechRate(Float value)public int synthesizetoFile(final CharSequence text,final Bundle params,final File file,final String utteranceId),我希望找到一种方法来在不同的语速下合成这些文件

因此,第一步是调用 setSpeechRate(4.0f)(返回 0SUCCESS)。然而,当我将 String 合成到同一个 Text-to-Engine 内的文件中,并使用 MediaPlayer 播放它时,我无法以比认值 speechRate = 1 更快的速度播放它。

我希望,由于 speechRate 实际上已更新为 4.0,因此生成文件也将具有相同的速率。我错过了什么?

解决方法

根据docs,setSPeechRate 对“预先录制的语音”没有影响。这是一个奇怪且令人困惑的词选择,但我假设“预先录制”是指使用 SynthesizeToFile 创建的语音。

这是有道理的,因为较慢的语音会导致文件很大,并且很难以不同的速度播放相同的文件。

所以看起来你必须使用播放器来控制语速。