首页 > 解决方案 > 合成到音频文件时 TTS.speechRate() 会影响吗?

问题描述

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

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

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

标签: javaandroidtext-to-speechspeechrate

解决方案


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

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

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


推荐阅读