文字转语音有一种方法来设置语速: setSpeechRate() 。 但它并没有查询当前速度的相反方法。
有没有一种方法来查询该值的系统 ?
文字转语音有一种方法来设置语速: setSpeechRate() 。 但它并没有查询当前速度的相反方法。
有没有一种方法来查询该值的系统 ?
你可能会得到默认的TTS的语速
Settings.Secure.getInt(getContentResolver(), Settings.Secure.TTS_DEFAULT_RATE, 100) / 100f;
我一直在寻找类似的事情,它看起来是不是真的有这样的方法。 但由于1.0是正常语速 ,我通过保持利率在我自己的变量解决了这个问题。 我有几个提供方法的类与TTS的工作,所以这里是我的实现:
public class MyTts {
private static float rate = 1.0f;
...
public float getSpeechRate() {
return rate;
}
public int setSpeechRate(float rt) {
rate = rt;
return tts.setSpeechRate(rate);
}
...
}
凡setSpeechRate
返回TextToSpeech.ERROR
或TextToSpeech.SUCCESS
根据文档。
编辑:好像当我设置的速度,即1.5F,然后回到1.0F它是不一样的。 这取决于Android的TTS设置。