我正在开发一个多种活动的锻炼应用程序,这些活动具有文本到语音的说明。
我的问题是文本到语音的初始化时间太长,即使我已经在帮助类中进行了操作,并且当活动开始时指令不会播放,我想也许我应该进行文本到语音服务,但我不知道如何,我没有找到任何教程。
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");
}
我如何创建语音服务并让它说出活动的说明?