TextToSpeech:API Level 21中不推荐使用的发言功能

时间:2015-06-08 10:29:34

标签: android text-to-speech

我尝试在我的应用中使用TextToSpeech,

String text = editText.getText().toString();
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);

但是函数说(String text,int queueMode,HashMap params)在API Level 21中已被弃用。而不是这样,建议使用speak(CharSequence text,int queueMode,Bundle params,String utteranceId)。 但我不知道如何设置它。感谢

2 个答案:

答案 0 :(得分:21)

String text = editText.getText().toString();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    tts.speak(text,TextToSpeech.QUEUE_FLUSH,null,null);
} else {
    tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}

答案 1 :(得分:-1)

这是完整的工作对我有用

Private TextToSpeech ts
 ts=new TextToSpeech(CurrentActivity.this, new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int status) {
                String text = "Any Text to Speak";
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    ts.speak(text,TextToSpeech.QUEUE_FLUSH,null,null);
                } else {
                    ts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
                }

            }
        });