复制下面代码直接放到activity里面,XXX代表当前activity的名称。如果在那个要播报语音,只需要在哪里调用play()就行,调用之前要给SpackStr赋值需要播报的内容
private TextToSpeech tts;
private String SpackStr;
private void play() {
tts = new TextToSpeech(this,new XXXX.listener());
}
private class listener implements TextToSpeech.OnInitListener {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
//设置播放语言
int result = tts.setLanguage(Locale.CHINESE);
tts.setPitch(2.0f);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
} else if (result == TextToSpeech.LANG_AVAILABLE) {
tts.speak(SpackStr, TextToSpeech.QUEUE_ADD, null);
}
} else {
Log.e("TAG", "初始化失败");
}
}
public void stopTTS() {
if (tts != null) {
tts.shutdown();
tts.stop();
tts = null;
}
}
}