getSpeechRate()? (或如何判断TTS当前设定的速率)

时间:2012-08-14 14:44:29

标签: android text-to-speech

TextToSpeech可以设置语速:setSpeechRate()。但它没有相反的方法来查询当前的速度。

有没有办法查询系统该值?

2 个答案:

答案 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.ERRORTextToSpeech.SUCCESS的位置。

编辑:似乎当我将费率设定为1.5f然后再回到1.0f时就不一样了。这取决于Android中的tts设置。