Java 用于多种活动的文本到语音转换

Java 用于多种活动的文本到语音转换,java,android,Java,Android,我正在开发一个包含多个活动的锻炼应用程序,其中包含文本到语音的说明 我的问题是,文本到语音需要很长时间才能初始化,即使我在助手类中有它,并且在活动开始时指令不会播放,我想也许我应该制作一个文本到语音服务,但我不知道如何进行,我也没有找到任何教程 private TextToSpeech mTts = null; private boolean isLoaded = false; public void init(Context context) { try { mTts

我正在开发一个包含多个活动的锻炼应用程序,其中包含文本到语音的说明

我的问题是,文本到语音需要很长时间才能初始化,即使我在助手类中有它,并且在活动开始时指令不会播放,我想也许我应该制作一个文本到语音服务,但我不知道如何进行,我也没有找到任何教程

private TextToSpeech mTts = null;
private boolean isLoaded = false;

public void init(Context context) {
    try {
        mTts = new TextToSpeech(context, onInitListener);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private final TextToSpeech.OnInitListener onInitListener = new TextToSpeech.OnInitListener() {
    @Override
    public void onInit(int status) {
        if (status == TextToSpeech.SUCCESS) {
            mTts.setLanguage(Locale.getDefault());
            isLoaded = true;
        }
    }
};


public void initQueue(String text) {
    if (isLoaded) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mTts.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
        } else {

            mTts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
        }
    }
    else
        Log.e("error", "TTS Not Initialized");
}

我如何创建语音服务并使其说出活动中的说明