TextToSpeech可以设置语速:setSpeechRate()。但它没有相反的方法来查询当前的速度。
有没有办法查询系统该值?
答案 0 :(得分:1)
您可能会获得默认的TTS语速
Settings.Secure.getInt(getContentResolver(), Settings.Secure.TTS_DEFAULT_RATE, 100) / 100f;
答案 1 :(得分:0)
我正在寻找类似的东西,似乎确实没有这样的方法。但是自1.0 is the normal speech rate以来,我通过将比率保持在我自己的变量中来解决它。我有一个类提供很少的方法来使用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设置。